Heim > Artikel > Backend-Entwicklung > Ein Artikel, der die Verpackung und Bereitstellung von Golang vorstellt
golang ist eine Programmiersprache auf hoher Ebene, die die Vorteile der statischen Typprüfung, der integrierten Unterstützung für gleichzeitige Programmierung usw. bietet und von Programmierern zunehmend bevorzugt wird. Bei der Entwicklung von Golang-Programmen sind Paketierung und Bereitstellung unvermeidliche Probleme. In diesem Artikel wird die Verpackung und Bereitstellung von Golang vorgestellt.
1. Packen von Golang-Programmen
Beim Packen von Golang-Programmen kann der Befehl „go build“ oder „go install“ verwendet werden. Unter anderem generiert der Befehl „go build“ eine ausführbare Datei und der Befehl „go install“ generiert eine ausführbare Datei und installiert sie im Pfad $GOPATH/bin. Es ähnelt unserem üblichen Direktverpackungsprozess unter Windows.
Das Folgende ist das Syntaxformat des Go-Build-Befehls:
go build [ build flags ] [ packages ]
Unter diesen sind Build-Flags optional, Pakete geben den Quelldateipfad an, der kompiliert werden muss, und mehrere Pfade werden getrennt durch Leerzeichen.
Zum Beispiel können wir den folgenden Befehl verwenden, um eine Quelldatei mit dem Namen main.go zu kompilieren:
go build main.go
Wenn Sie das Programm unter verschiedenen Betriebssystemen ausführen müssen, können Sie natürlich auch den folgenden Befehl zum Cross-Compilieren verwenden :
GOOS=linux GOARCH=amd64 go build main.go
Der obige Befehl kompiliert ein ausführbares Programm mit AMD64-Architektur unter dem Linux-System.
Das folgende Syntaxformat des Befehls „go install“ lautet:
go install [ build flags ] [ packages ]
Unter diesen sind Build-Flags optional, Pakete geben den Quelldateipfad an, der kompiliert werden muss, und mehrere Pfade werden getrennt durch Leerzeichen. Wenn keine Pakete angegeben sind, wird der Befehl go install im aktuellen Verzeichnis kompiliert.
Zum Beispiel können wir den folgenden Befehl verwenden, um eine Quelldatei mit dem Namen main.go zu kompilieren und zu installieren:
go install main.go
Nachdem dieser Befehl ausgeführt wurde, wird ein ausführbares Programm im Pfad $GOPATH/bin generiert.
2. Bereitstellung des Golang-Programms
Die Bereitstellung des Golang-Programms kann im Allgemeinen die folgenden Methoden anwenden:
Nach dem Packen können wir die ausführbare Datei direkt auf dem übergeordneten Server bereitstellen . Es ist zu beachten, dass wir vor der Bereitstellung bestätigen müssen, ob die entsprechenden Bibliotheken auf dem Server installiert sind.
Beispiel für einen Bereitstellungsprozess:
1.1 Verwenden Sie den Befehl go build, um eine ausführbare Datei, z. B. main.exe, unter dem Windows-Betriebssystem zu kompilieren.
1.2 Kopieren Sie main.exe auf den Linux-Systemserver.
1.3 Fügen Sie der Datei main.exe ausführbare Berechtigungen hinzu und verwenden Sie den folgenden Befehl:
chmod +x main.exe
1.4 Starten Sie das Golang-Programm mit dem folgenden Befehl:
./main.exe
Wir können das Golang-Programm in eine packen Docker-Image für die Bereitstellung. Es ist zu beachten, dass wir vor dem Packen des Golang-Programms in ein Docker-Image sicherstellen müssen, dass die Docker-Umgebung korrekt installiert wurde.
Beispiel für einen Bereitstellungsprozess:
2.1 Dockerfile-Datei schreiben. Das Folgende ist ein Beispiel für eine Dockerfile-Datei:
FROM golang AS builder # 拷贝源代码进入容器 WORKDIR /src COPY . . # 编译可执行文件 RUN go build -o main . # 创建容器,将可执行文件拷贝到容器中 FROM ubuntu COPY --from=builder /src/main . EXPOSE 8080 CMD ["./main"]
2.2 Platzieren Sie die Dockerfile-Datei und die main.go-Quelldatei im selben Pfad.
2.3 Verwenden Sie den folgenden Befehl, um die Docker-Datei zu erstellen:
docker build -t my-app:latest .
2.4 Verwenden Sie den folgenden Befehl, um den Container zu starten:
docker run -p 8080:8080 my-app
Das Obige ist der detaillierte Prozess des Packens und Bereitstellens des Golang-Programms Du.
Das obige ist der detaillierte Inhalt vonEin Artikel, der die Verpackung und Bereitstellung von Golang vorstellt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!