GitHub Actionsを利用したDockerイメージの自動ビルドを試す

★★★ イベント情報 ★★★
◇【参加登録受付中】Kong Summit, Japan 2022◇
今年は12月15日に開催決定!最新情報とデモとともにKongと事例/ユースケースのご紹介などAPIエコノミーやマイクロサービスに関心のある開発者の方にとっては必見です。ぜひお申し込みください!イベントの詳細・お申込はこちら

こんにちはサイオステクノロジー角川です。

GitHub Actionsというあらかじめ定義しておいた処理を実行できるGitHubが提供する機能です。
例えばGitリポジトリ内の変更をトリガーになんらかの処理をおこなわせるといったことが可能です。

 

今回はGitHub Actionsの動作例として、git pushがおこなわれたことをトリガーとしてGitHubリポジトリで管理しているDockerfileから自動でDockerイメージのビルドをおこない、その後Docker Hubへ自動でイメージの登録をおこなう設定についてご紹介します。

準備

Docker Hubの設定

docker build後、自動でDocker HubへpushさせるためDocker Hubからアクセストークンキーを発行します。

Docker Hubのメニューから[Account Settings]をクリックします。

[Security]メニューから [Access Tokens]の[New Access Token]ボタンをクリックします。

[Access Token Description]に任意の名前、[Access permissions]をRead & Write を選択して[Generate]をクリックします。

次の画面でアクセストークンが発行され表示されますので手元に控えておきます。

 

GitHubの設定

Dockerfileを管理しているGitHubのリポジトリの[Settings]メニューから[Secrets]-[Actions]を開きDocker Hubのトークン情報を登録します。

[New repository secret]をクリックします。

[Name]にDOCKERHUB_TOKENとして、[Value]にDocker Hubで取得し控えておいたトークンを入力します。

もうひとつ設定を追加して[Name]に DOCKERHUB_USERNAME として、[Value]にDocker Hubのユーザ名を入力します。

GitHub Actionsの設定

こちらの公式ドキュメントを参考にDockerfileを管理しているリポジトリに以下のディレクトリとGitHub Actions設定用のYAMLファイルを用意します。

.github/workflows/docker-build.yaml

name: ci
on:
  push:
    branches:
      - 'main'
jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      -
        name: Checkout
        uses: actions/checkout@v2
      -
        name: Set up QEMU
        uses: docker/setup-qemu-action@v1
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
      -
        name: Login to DockerHub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}
      -
        name: Build and push
        uses: docker/build-push-action@v2
        with:
          context: .
          push: true
          tags: example/github-actions-test:latest

上記最終行の tags: example/github-actions-test:latestexample部分はご自身のDocker HubのIDに変更してください。

リポジトリのファイルとディレクトリは以下のようにします。

.git
.github/
Dockerfile

 

.github/workflows/docker-build.yaml の設定からmainブランチにpushされるとGitHub Actionsが動作する設定になっています。

 

git push後、[Actions]メニューを開くことで動作の状況を確認をおこなうことが出来ます。

GitHub Actionsが正常に動作したことが確認出来ます。

 

Docker Hubを確認すると自動でDockerイメージがpushされ、登録されていることが確認出来ます。

最後に

いかがだったでしょうか。GitHub Actionsを利用することで自動でDockerイメージのビルドとイメージの登録がおこなわれる環境設定のご紹介でした。

今回は簡易な設定のみの内容でしたが、設定次第で様々な処理を実行させることが出来ます。

参考になれば幸いです。





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる