LoginSignup
60
56

More than 5 years have passed since last update.

DockerhubのAutomated buildを試す

Last updated at Posted at 2014-06-14

Automated Buildとは

新しく立ち上がったDocker Hubは、ただのイメージの集積所ではなくBuildもできるようになった。
github、BitBacketと連携して、そこにあるリポジトリの状態から勝手にBuildしてくれる。

今回はtypesafe-activatorを取り込んだイメージを作るDockerfileを書いて、githubにpush、Docker Hubでbuildしてみた

https://github.com/JAGAxIMO/docker-typesafe-activator
https://hub.docker.com/

Dockerfileをgithubにpush

こんなDockerfileを書いた。眠い目こすってやってたのでひどい事になってる
今回は @ringo さんのringo/scientificをベースに使ってみた

FROM ringo/scientific:6.5
RUN yum install -y wget unzip
RUN mkdir -p /home/src/ && cd /home/src && wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.rpm && rpm -ivh jdk-8u5-linux-x64.rpm 
RUN cd /home/src && wget http://downloads.typesafe.com/typesafe-activator/1.2.2/typesafe-activator-1.2.2.zip && unzip typesafe-activator-1.2.2.zip
RUN ln -s /home/src/activator-1.2.2 /usr/local/lib/activator && ln -s /usr/local/lib/activator/activator /usr/local/bin/activator

これとREADMEとLICENSEをでっちあげて git push

Automated Build

add_repository.png
Docker Hubのトップページの右上にADD Repositoryというボタンを押すと、こんな感じでAutomated Buildが選択できる

select.png
こんなページにいくので、そのままgithubを選択し、buildしたいDockerfileがあるリポジトリを選択

build_propaties_choice.png

ここで設定して、そのまま進めれば、あとは勝手にbuild待ちのキューに積まれる
キューに積まれた時、build_que.png
これはbuild待ち5番目の図。最初buildした時は240人待ちで全然buildされなかった

build_status.png

build途中のステータス。Pushingになってるから、buildはパスしてリポジトリにあげている最中っぽい

build_finish.png

buildが終わった。Logが出てる

これで、リポジトリが出来上がる。便利

試せていないけれど出来そうなこと

DockerhubにWebHookとBuild Triggerがあるので

  1. masterにpull requestをマージする
  2. CIツールでgithubのマージイベントのHookをキャッチし、Build Triggerをcurlで叩いてBuild開始
  3. Docker HubのWebHookをCIツールでキャッチして、リポジトリをPull & Run

とかできそう

60
56
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
56