LoginSignup
1

More than 5 years have passed since last update.

werckerで途中の状態をDocker Hubにpushする

Posted at

TLDR

werckerのパイプラインはDockerコンテナ内で実行される。wercker.ymlinternal/docker-pushというステップを組み込むと、その時点のコンテナの状態をDockerイメージ化し、Docker Hubにpushすることができる。これを使うとパイプラインがうまく動かないとき問題調査に役立つかもしれない(実際に調査に使ったことはまだないので)。

wercker.ymlにinternal/docker-pushを追加

    steps:
        # (中略)
        - internal/docker-push:
            username: $DOCKERHUB_USERNAME
            password: $DOCKERHUB_PASSWORD
            repository: myname/repo_name

$DOCKERHUB_USERNAME, $DOCKERHUB_PASSWORD は環境変数で指定しておく。

以上を記述してパイプラインを実行すると、Docker Hubにイメージがpushされる。

Docker Hubにpushされたイメージを実行

ローカルにて

$ docker run -it --rm myname/repo_name /bin/bash

Dockerコンテナ内にて

root@5a8e4cdd3366:/# cd /pipeline/
root@5a8e4cdd3366:/pipeline# ls -l
total 24
drwxr-xr-x 2 root root 4096 Feb 17 01:01 cache
drwxr-xr-x 2 root root 4096 Feb 17 01:01 output
drwxr-xr-x 2 root root 4096 Feb 17 01:01 script-9154b912-8d10-4d94-804a-18ab5832c388
drwxr-xr-x 2 root root 4096 Feb 17 01:01 script-d3b86d33-24a1-4cfd-8a44-f3c60022eb17
drwxr-xr-x 3 root root 4096 Feb 17 01:01 source
drwxr-xr-x 2 root root 4096 Feb 17 01:01 wercker-init-f0f3b304-4197-4328-9524-348011fce6fb

こんな感じで/pipelineに各種ファイルが保存されているので、ここを調べれば良い。

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
1