L'un des concepts clés introduits dans Go 1.11 est la prise en charge des modules. Bien que la fonctionnalité d'installation automatique des dépendances soit généralement bénéfique, certains cas d'utilisation peuvent nécessiter une récupération manuelle des dépendances.
Par exemple, dans un environnement de build Docker, où les modifications de dépendances sont beaucoup moins fréquentes que les modifications de code, tirer parti de la mise en cache des couches de Docker peut accélère considérablement les reconstructions en séparant l'étape d'installation des dépendances de l'étape de construction.
Go fournit désormais une solution à ce défi. Grâce au numéro 26610, vous pouvez utiliser la commande go mod download pour récupérer manuellement les dépendances. Cette commande nécessite uniquement la présence des fichiers go.mod et go.sum.
Voici un exemple de build Docker à plusieurs étapes en cache qui utilise cette technique :
FROM golang:1.17-alpine as builder RUN apk --no-cache add ca-certificates git WORKDIR /build # Fetch dependencies COPY go.mod go.sum ./ RUN go mod download # Build COPY . ./ RUN CGO_ENABLED=0 go build # Create final image FROM alpine WORKDIR / COPY --from=builder /build/myapp . EXPOSE 8080 CMD ["./myapp"]
De plus, l'article « Conteneurisez votre environnement de développement Go – Partie 2 » fournit des informations précieuses sur l'exploitation du cache du compilateur Go pour améliorer encore les vitesses de construction.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!