Maison > développement back-end > Golang > le corps du texte

Comment utiliser Golang build pour déployer rapidement des applications

PHPz
Libérer: 2023-04-25 15:48:35
original
657 Les gens l'ont consulté

Avec le développement rapide d'Internet, notre développement de logiciels est également constamment mis à jour. Dans le développement de logiciels modernes, le déploiement rapide des applications est crucial. Aujourd'hui, de plus en plus de développeurs commencent à utiliser Golang pour le développement, qui bénéficie de l'efficacité et de la simplicité de Golang. Dans cet article, nous expliquerons comment utiliser golang build pour déployer rapidement votre application.

  1. Introduction à Golang build

Golang build est un outil officiellement fourni par golang. Golang build compile les programmes Golang en fichiers exécutables et peut générer les fichiers exécutables locaux correspondants en fonction de différents systèmes d'exploitation. Pour l'exécution d'applications multiplateformes, golang build effectuera d'excellentes optimisations et ajustements en fonction des caractéristiques des différentes plates-formes.

  1. Utilisation de Golang build

Golang build peut être utilisé via la commande suivante :

go build <package>
Copier après la connexion

Parmi elles, <package> est le chemin du package qui doit être compilé, qui peut être un chemin local ou un référentiel distant. <package>是需要编译的package的路径,可以是本地path,也可以是远程的repository。

例如,以下命令将编译当前路径下的main.go文件:

go build main.go
Copier après la connexion

若当前路径下有多个文件,也可以使用以下的命令来编译所有文件:

go build .
Copier après la connexion
  1. Golang build的交叉编译

Golang build除支持本地编译外,还支持交叉编译。也就是说,在Linux环境下编译Windows环境下的程序,或者在Mac环境下编译Linux环境下的程序。

这需要使用到环境变量GOOSGOARCH,它们分别指定需要编译的操作系统和CPU架构。

例如,以下命令将在Windows上编译Linux amd64架构的程序:

SET GOOS=linux
SET GOARCH=amd64
go build
Copier après la connexion

需要注意的是,交叉编译需要更改环境变量才能进行。具体如何更改环境变量将不在本文的讨论范围之内。

  1. Golang build的静态编译

Golang build还支持静态编译,这会将所有需要使用的依赖库都编译到可执行文件中,无需再次安装。

例如,在Linux系统中静态编译Go程序,可以输入以下命令:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o main .
Copier après la connexion

补充说明一下命令中的参数:

  • CGO_ENABLED=0:禁用CGO
  • GOOS=linux:编译后的操作系统是Linux
  • GOARCH=amd64:编译后的CPU架构是amd64
  • -a:强制编译所有package
  • -installsuffix cgo:指定额外的后缀
  • -o main:将编译后的程序存储为main
  • .
  • Par exemple, la commande suivante compilera le fichier main.go dans le chemin actuel :
FROM docker.io/library/golang:1.14-alpine

WORKDIR /app

COPY . .

RUN go build -o main .

EXPOSE 8080

CMD ["./main"]
Copier après la connexion
    S'il y a plusieurs fichiers dans le chemin actuel, vous pouvez également utiliser la commande suivante pour compiler tous les fichiers :
  1. rrreee
  2. Compilation croisée de Golang build

En plus de prendre en charge la compilation locale, Golang build prend également en charge la compilation croisée. En d'autres termes, compilez le programme dans l'environnement Windows dans l'environnement Linux, ou compilez le programme dans l'environnement Linux dans l'environnement Mac.

Cela nécessite l'utilisation des variables d'environnement GOOS et GOARCH, qui spécifient respectivement le système d'exploitation et l'architecture CPU à compiler.
  1. Par exemple, la commande suivante compilera un programme pour l'architecture Linux amd64 sous Windows :
  2. rrreee
Il convient de noter que la compilation croisée nécessite de modifier les variables d'environnement pour continuer. La manière exacte de modifier les variables d’environnement dépasse le cadre de cet article.

    Compilation statique de Golang build🎜🎜🎜Golang build prend également en charge la compilation statique, qui compilera toutes les bibliothèques dépendantes qui doivent être utilisées dans le fichier exécutable sans l'installer à nouveau. 🎜🎜Par exemple, pour compiler statiquement un programme Go dans un système Linux, vous pouvez saisir la commande suivante : 🎜rrreee🎜Explication supplémentaire des paramètres dans la commande : 🎜
    🎜CGO_ENABLED=0 : Désactivez CGO🎜🎜GOOS=linux : Le système d'exploitation compilé est Linux🎜🎜GOARCH=amd64 : L'architecture CPU compilée est amd64🎜🎜-a code> : Obligatoire Compilez tous les packages 🎜🎜<code>-installsuffix cgo : Spécifiez un suffixe supplémentaire 🎜🎜-o main : Stockez le programme compilé sous le nom main🎜🎜. code > : Compilez tous les codes sous le chemin actuel 🎜🎜🎜🎜 Docker de Golang build 🎜🎜🎜 Après avoir utilisé golang build pour compiler le programme Go, le fichier exécutable généré peut être empaqueté dans Docker, ce qui facilite le déploiement et l'exécution du programme . Voici un exemple simple de Dockerfile : 🎜rrreee🎜Ce Dockerfile utilise le golang:1.14-alpine officiel comme image de base, puis copie tous les fichiers du chemin actuel vers Docker, compile le programme Go dans Docker, puis expose le port de l'application. 8080, le fichier exécutable compilé est enfin exécuté dans Docker. 🎜🎜🎜Résumé🎜🎜🎜Cet article présente l'utilisation de la construction Golang et les techniques associées, notamment la compilation croisée, la compilation statique et l'utilisation de Docker. Grâce à la méthode de déploiement de golang build, nous pouvons déployer et exécuter des programmes golang plus facilement et plus rapidement. 🎜

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal