GithubとDocker HubのBuildsを連携して自動ビルドしたい
BingAIに足がかりを教えてもらったので、ひとまずその手順どおりいきます
回答コピペ
Docker HubのWebhooksとBuildsを使用して、自動ビルド環境を構築する手順を以下に示します。この方法では、GitHubのリポジトリの変更をトリガーにしてDockerイメージを自動的にビルドできます。
手順
-
Docker Hubアカウントの作成
- まだアカウントを持っていない場合は、Docker Hubにサインアップします。
-
リポジトリの作成
- Docker Hubで新しいリポジトリを作成します。リポジトリ名を設定し、必要に応じてプライベートまたはパブリックにします。
-
GitHubリポジトリの設定
- GitHubにあるソースコードをDocker Hubにビルドするために、リポジトリを準備します。
Dockerfile
を含め、必要なファイルをリポジトリに追加します。
- GitHubにあるソースコードをDocker Hubにビルドするために、リポジトリを準備します。
-
Docker HubのBuilds設定
- Docker Hubのリポジトリページに移動し、「Builds」タブを選択します。
- 「Configure Automated Builds」をクリックし、GitHubアカウントをリンクします。
- ビルドの設定を行います。GitHubリポジトリを選択し、ブランチを指定します。
-
Webhooksの設定
- GitHubリポジトリの「Settings」タブに移動し、「Webhooks」を選択します。
- 「Add webhook」をクリックし、以下の情報を入力します:
-
Payload URL:
https://hub.docker.com/api/build/v1/source/<source_id>/trigger/
-
<source_id>
はDocker HubのBuilds設定で確認できます。
-
-
Content type:
application/json
-
Which events would you like to trigger this webhook?:
Just the push event.
-
Payload URL:
- Webhookを追加します。
-
ビルドの確認
- GitHubリポジトリに変更をプッシュすると、Docker Hubが自動的にビルドを開始します。Docker Hubの「Builds」タブでビルドの進行状況を確認できます。
まとめ
この手順で、Docker HubのWebhooksとBuildsを使用して自動ビルド環境を構築できます。これにより、GitHubの変更があった際に自動的にDockerイメージがビルドされるようになります。何か他に質問があれば、お気軽にどうぞ!
とりあえず、Docker HubのBuilds設定でgithubのリポジトリを設定できそうだ。
Docker Desktopからできないのかな~とおもったけど、ここをクリックするとDocker Hubに遷移するのでできないっぽい。
というわけでおとなしくDockerHubから操作していきます。
GitHubぽちー。
GitHubのLink providerをぽちー。
連携していく。
スクショとるの忘れてしまった。無事連携できました。
repositories>buildsからgithubを選択すると以下の画面に遷移する。
連携したいリポジトリを選択。
下ににょろっとでてくる。
Build Location - Docker Hub上でビルドしますよ的な。
Autotest - 自動テストするかどうか。いったん無視。別の記事でやってみる。
Repository Links - ベースイメージが更新されたらビルドするか。いったん無視。
続いてビルドルール。
mainブランチからlatestタグが生成されるようにしてみる。
Save and Buildで試しに生成。
あれ?動かない?と思ったら、1分ほどたったらゲージがにょきにょきとでてました。
ここに私のやりたいことがほぼかいてあった!