インターネットの急速な発展に伴い、当社のソフトウェア開発も常にアップグレードされています。現代のソフトウェア開発では、アプリケーションを迅速に展開することが非常に重要です。現在、ますます多くの開発者が開発に golang を使用し始めており、golang の効率性とシンプルさの恩恵を受けています。この記事では、golang buildを使ってアプリケーションを素早くデプロイする方法を紹介します。
Golang ビルドは、golang が公式に提供しているツールです。 Golang ビルドは、golang プログラムを実行可能ファイルにコンパイルし、さまざまなオペレーティング システムに応じて対応するローカル実行可能ファイルを生成できます。クロスプラットフォーム アプリケーションを実行する場合、golang ビルドはさまざまなプラットフォームの特性に基づいて優れた最適化と調整を行います。
Golang ビルドは次のコマンドで使用できます:
go build <package>
このうち、<package>
これはコンパイルする必要があるパッケージのパスであり、ローカル パスまたはリモート リポジトリにすることができます。
たとえば、次のコマンドは現在のパスにある main.go ファイルをコンパイルします:
go build main.go
現在のパスに複数のファイルがある場合は、次のコマンドを使用してコンパイルすることもできます。すべてのファイル:
go build .
Golang ビルドは、ローカル コンパイルのサポートに加えて、クロスコンパイルもサポートします。つまり、Windows環境のプログラムをLinux環境でコンパイルしたり、Linux環境のプログラムをMac環境でコンパイルしたりすることになります。
これには、コンパイルする必要があるオペレーティング システムと CPU アーキテクチャをそれぞれ指定する環境変数 GOOS
と GOARCH
を使用する必要があります。
たとえば、次のコマンドは Windows 上で Linux amd64 アーキテクチャ プログラムをコンパイルします:
SET GOOS=linux SET GOARCH=amd64 go build
クロスコンパイルを続行するには環境変数を変更する必要があることに注意してください。環境変数を変更する正確な方法については、この記事の範囲を超えています。
Golang ビルドは静的コンパイルもサポートしており、使用する必要があるすべての依存ライブラリを再インストールすることなく実行可能ファイルにコンパイルします。 . .
たとえば、Linux システムで Go プログラムを静的にコンパイルするには、次のコマンドを入力します。
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o main .
コマンドのパラメーターの追加説明:
CGO_ENABLED =0
: CGO を無効にするGOOS=linux
: コンパイルされたオペレーティング システムは LinuxGOARCH=amd64
: コンパイルされた CPU アーキテクチャは amd64-a
: すべてのパッケージの強制コンパイル-installsuffix cgo
: 追加のサフィックス -o main
: コンパイルされたプログラムを main として保存します。
: 現在のパスの下にあるすべてのコードをコンパイルします golang build を使用して Go プログラムをコンパイルした後、生成された実行可能ファイルを Docker にパッケージ化できるため、プログラムのデプロイと実行が容易になります。以下は簡単な Dockerfile の例です:
FROM docker.io/library/golang:1.14-alpine WORKDIR /app COPY . . RUN go build -o main . EXPOSE 8080 CMD ["./main"]
この Dockerfile は、公式 golang:1.14-alpine をベース イメージとして使用し、現在のパスにあるすべてのファイルを Docker にコピーし、Docker で Go プログラムをコンパイルしてから、アプリケーションの 8080 ポートを公開し、最後にコンパイルされた実行可能ファイルを Docker で実行します。
この記事では、golang ビルドの使用方法と、クロスコンパイル、静的コンパイル、Docker の使用などの関連テクニックを紹介します。 golang ビルドのデプロイメント方法を使用すると、golang プログラムをより便利かつ迅速にデプロイして実行できます。
以上がgolang build を使用してアプリケーションを迅速にデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。