Docker HubとGitHubを自動連携させる「Automated Build」が楽チンすぎる件

Automated Buildとは

Docker Hubの「Automated Build」は、GitHubでの変更を検知して、Dockerイメージのビルドを自動的に行う機能である。

Docker Hubへイメージをpushするのに、ローカル環境やCI環境でいちいちdocker build・docker pushするというルーチン作業から完全に開放してくれる。

詳細は公式ドキュメントを参照してほしい。

「Automated Build」を使用するには、GitHubとの連携を事前に許可しておく必要がある。ここからその手順を説明する。

初期設定

まずは、Docker Hubの右上にあるメニューから「自分のユーザ名」を選択。次に「Settings」をクリック。

f:id:tmknom:20181007142314p:plain

「Linked Accounts & Services」ページに遷移したら、「Link GitHub」をクリック。

f:id:tmknom:20181007142332p:plain

GitHubとの接続方法を選択する。ここでは、推奨されている「Public and Private」側の「Select」ボタンをクリック。

f:id:tmknom:20181007142415p:plain

GitHubにページ遷移したら、「Authorize docker」ボタンをクリック。

f:id:tmknom:20181007142426p:plain

パスワード入力を促されたら、入力して、「Confirm password」ボタンをクリック。

f:id:tmknom:20181007142433p:plain

自分のGitHubアカウントと連携できたことを確認。

f:id:tmknom:20181007142454p:plain

Automated Buildの設定

  1. Create > Create Automated Build

Docker Hubの右上にあるメニューから「Create」を選択。次に「Create Automated Build」をクリック。

f:id:tmknom:20181007143647p:plain

GitHub側の「Create Auto-build」をクリック。

f:id:tmknom:20181007143659p:plain

ユーザを選択し、Automated Buildの対象にするにするリポジトリをクリック。

f:id:tmknom:20181007150942p:plain

Short Descriptionを入力し、「Create」ボタンをクリック。

f:id:tmknom:20181007150953p:plain

自動的に、いつもの画面が出てくる。

f:id:tmknom:20181007151012p:plain

あとは、masterにマージされると、自動的にdocker buildしてくれるようになる。

おわりに

本記事からは省いたが、簡単にタグ付けしたり、docker buildの手順を自分でカスタマイズすることも可能で、かなりのユースケースに対応できる。うまく設定すると、Dockerfileの作成だけに注力することができるようになるので、PublicなDockerfileを作っているならぜひ使いこなしたい。