Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Azure 上で Golang アプリの継続的デプロイをセットアップするにはどうすればよいですか


Azure 上で Golang アプリの継続的デプロイをセットアップするにはどうすればよいですか


Azure 上で Golang アプリの継続的デプロイを設定するには、次の手順に従います。

ステップ 1: Azure Container Registry を作成する

1. Azure portal に移動し、Container Registry セクションに移動します。
2. [リソースの作成] をクリックし、Container Registry を選択します。
3. 必要な詳細を入力し、確認 + 作成 をクリックします。
4. Docker アクセスを有効にし、後で使用するためにユーザー名とパスワードをメモします[1]。

ステップ 2: Golang アプリを Docker 化する

1. GitHub から Golang API プロジェクトのクローンを作成します。
2. 「go run main.go」を使用してアプリケーションを実行します。
3. アプリケーションをテストし、単体テストを実行します。
4. Golang アプリ用の Docker イメージを構築するための Dockerfile を作成します[1]。

ステップ 3: Docker イメージを Azure Container Registry に発行する

1. `docker build -t .` を使用して Docker イメージをビルドします。
2. イメージにレジストリ URL とユーザー名をタグ付けします: `docker tag /`。
3. `docker Push /`[1] を使用して、イメージを Azure Container Registry にプッシュします。

ステップ 4: Azure Web アプリを作成する

1. Azure portal に移動し、App Service セクションに移動します。
2. [リソースの作成] をクリックし、Web アプリ を選択します。
3. 必要な詳細を入力し、確認 + 作成 をクリックします。
4. ランタイムを Windows に、フレームワークを Go に設定します[2]。

ステップ 5: 継続的デプロイメントの構成

1. Azure portal で、App Service の デプロイ センター に移動します。
2. [設定]、[ソース] の順に選択します。
3. ビルド プロバイダーとして GitHub Actions を選択します。
4. GitHub で Azure アカウントを認証します。
5. デプロイ元のリポジトリとブランチを選択します。
6. 必要に応じて、ビルドと展開の設定を構成します[3][4]。

ステップ 6: GitHub アクションを設定する

1. リポジトリに新しい GitHub Actions ワークフロー ファイル (`*.yml`) を作成します。
2. Docker イメージを構築して Azure Container Registry にデプロイするためのワークフローを定義します。
3. 指定されたブランチ[1]へのプッシュ イベントでトリガーされるようにワークフローを構成します。

ステップ 7: GitHub アクションを Azure App Service に接続する

1. Azure portal で、App Service の デプロイ センター に移動します。
2. [設定]、[ソース] の順に選択します。
3. ビルド プロバイダーとして GitHub Actions を選択します。
4. GitHub で Azure アカウントを認証します。
5. デプロイ元のリポジトリとブランチを選択します。
6. 必要に応じて、ビルドと展開の設定を構成します[3][4]。

ステップ 8: 監視とテスト

1. Azure portal でデプロイメント ログを監視します。
2. デプロイされたアプリケーションをテストして、正しく実行されていることを確認します。

これらの手順に従うことで、GitHub Actions と Docker コンテナーを使用して、Azure 上で Golang アプリの継続的デプロイをセットアップできます。

引用:
[1] https://circleci.com/blog/deploy-dockerized-go-app-to-azure/
[2] https://www.youtube.com/watch?v=Te9bF01iqWM
[3] https://learn.microsoft.com/en-us/azure/app-service/deploy-continuous-deployment
[4] https://dev.to/parveensingh/continuous-deployment-for-azure-app-service-github-and-azure-repos-4oog
[5] https://docs.github.com/en/actions/deployment/deploying-to-your-cloud-provider/deploying-to-azure