リポジトリの作成

GitHubリポジトリ作成

Step1: Create repositoryをクリックしてリポジトリを作成

GitHub リポジトリ作成 width=640

Step2: リポジトリ名とPublic/Privateを選択Create repository

GitHub リポジトリ作成 width=640

DockerHubリポジトリ作成

  • イメージ名はdockerアカウント名/dockerリポジトリ名:タグ名になる
  • pushはdocker push dockerアカウント名/dockerリポジトリ名:タグ名
  • pullはdocker pull dockerアカウント名/リポジトリ名

Step1: DockerアカウントでDockerHUBにログイン

DockerHub ログイン width=640

Step2: Create Repositoryを選択してリポジトリを作成

DockerHub リポジトリ作成 width=640

Step3: リポジトリ名とvisibility(public or private)を選択してCreate

DockerHub リポジトリ作成 width=640

Step4: 生成されたリポジトリページ

DockerHub リポジトリ作成 width=640

GitHubへのPushをトリガーに自動ビルドする

GitHubとの連携

Step1: BuildsタブのAutomated Buildを選択

DockerHub ビルド設定 width=640

Step2: GitHubにログイン

DockerHub GitHubとの連携 width=640

Step3: Authorized Dockerを選択

DockerHub GitHubとの連携 width=640

step4: Linked Accountが設定される

DockerHub GitHubとの連携 width=640

DockerHub GitHubとの連携 width=640

GitHubに対象のDockerfileをPush

作成したリポジトリにDockerfileをPush

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
PS > git init
Initialized empty Git repository in <REPOSITORY_NAME>/.git/
PS > git add README.md
PS > git commit -m "first commit"
[master (root-commit) 0d0ba66] first commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
PS > git remote add origin https://github.com/XXXXXX/<REPOSITORY_NAME>.git
PS > git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 243 bytes | 243.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/XXXXXX/<REPOSITORY_NAME>.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
PS > git add Dockerfile
PS > git commit -m "first Dockerfile"
[master 34db485] first Dockerfile
1 file changed, 1 insertion(+)
create mode 100644 Dockerfile
PS > git push -u origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 306 bytes | 102.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/XXXXXX/<REPOSITORY_NAME>.git
0d0ba66..34db485 master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

DockerHubのAutomated Buildsを設定する

連携したGitHubに対するPushイベントをトリガーにDockerHubでビルドを実行する。

Step1: BuildsタブのAutomated BuildLink to GitHubを選択

DockerHub GitHubとの連携 width=640

Step2: Build ConfigurationでGitHubアカウントとGitHubリポジトリ名を選択し、Save and Build

DockerHub ビルド設定 width=640

Step3: Automated Buildsの状態を確認できる

DockerHub 自動ビルド width=640

Step4: PENDINGがSUCESSに変われば終了

DockerHub 自動ビルド width=640

Step5: Tagsタブで生成されたタグを確認

DockerHub 自動ビルド width=640

Step6: Generalタブでリポジトリの情報が確認できる

DockerHub 自動ビルド width=640

自動ビルドの動作

Step1: GitHubのリポジトリを更新する

1
2
3
4
5
6
7
8
9
10
11
12
13
PS > git add -u
PS > git commit -m "update Dockerfile"
[master e8f6211] update Dockerfile
1 file changed, 2 insertions(+)
PS > git push -u origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 334 bytes | 83.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/XXXXXX/<REPOSITORY_NAME>.git
34db485..e8f6211 master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

Step2: 処理が開始される

DockerHub 自動ビルド width=640

Step3: SUCESSになれば終了

DockerHub 自動ビルド width=640

Gitで付与したタグを使用したAutomated Builds

Step1: GitのタグをもとにDockerのタグを付与してビルドする例

DockerHub 自動ビルド width=640

Step2: タグ名を付与してPushする。

1
2
3
4
PS > git tag -a タグ名 -m 'コメント'
PS > git tag
タグ名
PS > git push origin --tags