Help us understand the problem. What is going on with this article?

【Docker】GitHubと連携してDockerイメージを自動ビルドする手順

はじめに

GitHubにpushしたらDockerイメージが自動ビルドできる
Automated Builds
を設定したときの手順を備忘録としてまとめました。

【背景】
先日愛用のMacBookが壊れてしまったのですが、一時的に別端末に開発環境を構築するハメになったのですが、Dockerも使っていなかったので「かなり面倒」でした。

そのため、Dockerfileにも保険をかけておこうと思い導入したのが経緯です。

以下参照した公式サイトです。
Set up automated builds | Docker Documentation

この記事が役に立つ方

  • DockerとGitHubを使用していて、自動ビルドは導入していない方

この記事のメリット

  • 常に最新のDockerイメージがDockerHubにある状態を維持出来る。

環境

  • macOS Catalina 10.15.1
  • zsh: 5.7.1
  • Docker: 19.03.5

前提

今回は開発途中からDockerイメージの自動ビルドを行います。

以下2つのアカウントは取得済とします。

  • GitHub
  • DockerHub

スムーズに設定するためにそれぞれ事前にログインしておきましょう。

1.アカウントの連携

Docker Hubにアクセス。

スクリーンショット 2019-11-26 11.46.36.png
ログイン後、アカウント名をクリックし、Account Settingsをクリック。

スクリーンショット 2019-11-26 11.46.47.png
左側メニューの中からLinked Accountsをクリック。

スクリーンショット 2019-11-26 11.46.58.png
GitHub側のConnectをクリック。
※他にBitbucketも連携可能です。

ログインしていれば出てきた画面でAuthorize dockerをクリックして連携完了。

2.リポジトリの連携

次はリポジトリ同士の連携です。

まずはDockerHubのリポジトリを作成します。
スクリーンショット 2019-11-26 12.05.40.png
①上部メニューのRepositoriesをクリック
Create Repositoryをクリック


スクリーンショット 2019-11-26 12.06.02.png
リポジトリ名とDockerイメージの詳細説明を任意で設定し、GitHubアイコンをクリック。

スクリーンショット 2019-11-26 12.13.06.png
どのリポジトリと連携するかをプルダウンメニューから選ぶ。
必要があればどのBranchを対象として自動ビルドするかも設定する。(デフォルトはmaster)

リポジトリ同士の連携完了。

確認

DockerHubのヘッダーメニューにあるRepositories

作成したリポジトリ名をクリック

Buildsタブをクリック

Automated Buildsにビルドの状況が表示されています。

その他、Recent Buildsからビルドされた時点それぞれのログ、Dockerfile、READMEがブラウザ上で確認出来るようになっています。便利。

おわりに

最後まで読んで頂きありがとうございました:smile:

最新のDockerイメージがDockerHubに上がっていれば、端末が壊れたり別端末から作業をするときにも開発環境をすぐ戻せるので安心ですね:relaxed:

参考にさせて頂いたサイト(いつもありがとうございます)

Set up automated builds | Docker Documentation

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away