Automated Build(自動ビルド)とは
GithubやBitbucketといったソースコードのホスティングサービスでビルドコンテキスト(Dockerfileやその他のビルドに必要なファイル群)を管理し、リポジトリ上のビルドコンテキストの内容が変更された場合に自動的にビルドを実行する仕組みのこと。
DockerHubとGitHubのリンク設定
Dockerhubのリポジトリの「Builds」タブのLink to GitHubをクリックし、任意のGitHubのリポジトリを選択。
Source Type githubのBranchを対象にするか、タグを対象にするかの設定
Source branch名またはタグの指定
Dokcer Tag ビルドされたイメージにつけるタグ付の指定
Dockerfile location dockerfileの置いてあるパスの指定
BuildContext
「Save」を押す。
自動ビルドはここで設定されたリポジトリに、ファイルが追加されるか、変更された場合に実行される。
GitHubからリポジトリをgitcloneする
% git clone https://github.com/ユーザー名/automated-build-test.git
Cloneしたディレクトリに移動し、Dockerfileを作成し記述する
## 例
FROM docker samples/static-site
ENV AUTHOR=“docker”
GitHubにpushする
-# 指定したDockerfileをインデックスに登録してコミット対象にするコマンド
% git add Dockerfile
-# ファイルやディレクトリの追加・変更を、リポジトリに記録する
% git commit -m “docker commit"
-# ローカルリポジトリの内容をリモートリポジトリに送信する
% git push origin master
ユーザー名、パスワードを求められたら入力する。
DockerHubの「Builds」タブでAutomated BuildsのステータスがPENDINGになり、時間が立ちSUCCESSになったら成功。
実際に自動ビルドできているか確認する
-# 自動ビルドしたイメージのpull
% docker pull Dockerhubのリポジトリ名
-# イメージの一覧表示
% docker images
イメージがpullできていることが確認できる。
これをうまく利用することで都度手動でビルドすることが不要になり、さらに他のアプリケーションや、サービスと連携することでコンテナの実行まで自動化することができる。