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
2. イメージにレジストリ URL とユーザー名をタグ付けします: `docker tag
3. `docker Push
ステップ 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