.NET アプリケーション向けの CI/CD 設定
前提条件
.NET アプリケーションのコンテナー化 から始まる、ここまでのガイドすべてを終えていること。 本節を進めるには GitHub アカウントと Docker アカウントを持っていることが必要です。
概要
本節では GitHub アクションを利用した CI/CD パイプラインの設定と利用方法について学び、Docker イメージのビルドとテストを行った上で Docker Hub へのプッシュを行います。 これより以下の手順を進めます。
- GitHub 上に新たなリポジトリを生成します。
- GitHub アクションワークフローを定義します。
- ワークフローを実行します。
手順1: リポジトリの生成
GitHub リポジトリの生成、Docker Hub 機密情報の設定、ソースコードのプッシュを行います。
GitHub 上に 新たなリポジトリを生成 します。
リポジトリの Settings (設定) を開き、Secrets and variables > Actions に進みます。
新たな Repository variable (リポジトリ変数) として、名称を
DOCKER_USERNAME
、その値に自身の Docker ID を設定して生成します。Docker Hub に対しての パーソナルアクセストークン (Personal Access Token; PAT) を新たに生成します。
docker-tutorial
と名付けることにします。 アクセスパーミッションは Read and Write (読み書き) とします。GitHub リポジトリの Repository secrets (リポジトリシークレット) として PAT を追加します。 その名前は
DOCKERHUB_TOKEN
とします。手元のマシン内にあるローカルリポジトリにおいて、以下のコマンドを実行して origin を生成済みのリポジトリに変更します。 ここで
your-username
には GitHub のユーザー名、your-repository
の部分は生成したリポジトリ名とします。$ git remote set-url origin https://github.com/your-username/your-repository.git
手元のローカルリポジトリにおいて、以下のコマンドを実行してブランチ名を main にします。
$ git branch -M main
以下のコマンドを実行して、ローカルリポジトリから GitHub に向けてのステージング、コミット、プッシュを行います。
$ git add -A $ git commit -m "my first commit" $ git push -u origin main
手順 2: ワークフローの設定
Docker Hub に対してのイメージビルド、テスト、プッシュを行う GitHub アクションワークフローを設定します。
GitHub 上の対象リポジトリにアクセスします。 そして Actions (アクション) タブを選びます。
set up a workflow yourself (自分でワークフローを設定) を選びます。
これを行うと、リポジトリないに新たな GitHub アクションワークフローファイルを生成するためのページに進みます。 そのファイルは、デフォルトでは
.github/workflows/main.yml
です。編集画面において、以下の YAML 設定をコピーペーストします。
name: ci on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ vars.DOCKER_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build and test uses: docker/build-push-action@v6 with: target: build load: true - name: Build and push uses: docker/build-push-action@v6 with: platforms: linux/amd64,linux/arm64 push: true target: final tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest
docker/build-push-action
で利用している YAML 文法についての詳細は GitHub Action README を参照してください。
手順 3: ワークフローの実行
ワークフローファイルを保存してジョブ実行します。
Commit changes... (変更のコミット) を選び、
main
ブランチに変更をプッシュします。コミットのプッシュを行うと、ワークフローは自動的に起動します。
Actions (アクション) タブに移動します。 そこにワークフローが表示されます。
ワークフローを選ぶと、全ステップが展開されて表示されます。
ワークフローが完了したら Docker Hub 上のリポジトリ に移動します。
一覧内に新たなリポジトリが表示されていれば、GitHub アクションによって Docker Hub へのイメージのプッシュが成功したということになります。
まとめ
本節では .NET アプリケーション向けの GitHub アクションワークフローの設定方法について学びました。
関連情報
次のステップ
次の節では、デプロイ前に Kubernetes 上のワークロードをローカルにおいてテスト、デバッグする方法について学びます。