GitHub の Dockerfile から Docker Image を自動ビルドする設定手順
Docker Hub の Automated Builds を使うと、GitHub または Bitbucket の Dockerfile の変更を検知して、Docker Image を自動ビルドすることができます。
- レポジトリへのコミットを検知して、Docker Hub の Docker Image を自動でビルドします。
- タグやブランチの追加を検出して、自動でタグ・ブランチ名をTAGとした Docker Image を作ることも可能。
一通り設定を試してみたので、メモです。
- unagenau/docker-jiji2 に配置している Dockerfile を自動ビルドするようにしてみました。
- Docker Hub のアカウントがない場合は、こちらから作成してください。
1. Docker Hub のアカウント と GitHubアカウントとを連携させる
まず初めに、Docker Hub のアカウント と GitHubアカウントとを連携させる必要があります。
Docker Hubにログインして、右上のメニューから Settings を選択します。
続いて、 上のタブから Linked Accounts & Services を選択。
GitHub を選択。
リンク方法を選択します。 自動でhookを設定してくれるらしいので、 Public and Private を選択しました。
連携確認の画面が表示されるので、連携を許可して完了。
2. 自動ビルドを行うレポジトリを作る
GitHubアカウントとの連携ができたら、自動ビルドを行うレポジトリを作ります。
右上のメニューから Create - Create Automated Build を選択。
GitHub をクリック。
Dockerfile をホストしているレポジトリを選択します。
もろもろ設定します。
- Short Description に説明を入力
- Click here to customize をクリックすると、詳細設定画面が開きます。
- Dockerfile をルートディレクトリに置いていなかったので、詳細画面の Dockerfile Locationで指定しています。
- また、タグの追加を検出して、タグ名付のイメージを作成する設定も行ってみました。
設定が完了後、Create をクリックすると、レポジトリが作成されます。
3. イメージをビルドしてみる
レポジトリができたら、GitHubレポジトリに変更をコミットする or タグを追加すると、自動でビルドが行われます。 また、UIから手動でビルドを実行することもできます。手動ビルドしたい場合は、Build Settings の Trigger ボタンをクリックすればOK。
Build Details タブで、ビルドタスクの実行状況を確認できます。
一旦 Quque に積まれた後、 10分程度待つとビルドされました。