LoginSignup
5
5

More than 5 years have passed since last update.

CIからdocker registryにプッシュするときのメモ

Posted at

CIでビルドしたイメージはregistoryにプッシュしておきたい

テストに失敗したときは原因をさぐるのに使えそうだし、
テストに成功した時に、push済みなのですばやくデプロイできそう。

CIでdocker buildしたらその時点でgitのブランチ名とコミットIDのタグをつけてpushすることにした。
テストを実行する前に以下のようなシェルスクリプトを走らせている。

docker_push.sh
#!/bin/sh

IMAGE_NAME="eiel/hoge"

IMAGE_NAME_SHA=$IMAGE_NAME:COMMIT_$(git rev-parse HEAD)
IMAGE_NAME_BRANCH=$IMAGE_NAME:$(git rev-parse --abbrev-ref HEAD)

docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
docker tag $IMAGE_NAME $IMAGE_NAME_SHA
docker tag $IMAGE_NAME $IMAGE_NAME_BRANCH
docker push $IMAGE_NAME_SHA $IMAGE_NAME_BRANCH
  • eiel/hoge:COMMIT_f90bbb0135d12994de5f7a98a3dada52e2a5b639
  • eiel/hoge:master

みたいなタグができる。

circle.ymlも抜粋しておく。

circle.yml
dependencies:
  override:
    - docker info
    - docker build -t eiel/hoge .
    - bin/docker_push

しかし、なんでもかんでも push するとゴミがたまるので、消しやすくする工夫をしたい。
gitでタグをうったときも自動でなんとかしたいところ。

5
5
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
5
5