3rd party の PyPI パッケージのリリースがあったら、自動で Dockerhub のビルドをキックして、latest の更新とバージョンのタグ付けをするパイプラインを構築しました。
できたのはこちら。
https://hub.docker.com/r/srzzumix/lizard
パイプライン
PyPI release の RSS を使い、RPA(Integromat) で定期的に読み取り、更新があったら Dockerhub のビルドトリガー URL を POST します。
Dockerhub のビルドができたら、出来上がったイメージからバージョンを取得してタグ付けをしています。
Dockerhub のビルドでは Dockerfile と同じ階層にある hooks ディレクトリに build や post_push などの shell ファイルを置くことで処理をカスタマイズできるので、post_push でタグ付けするようにしています。
#!/bin/bash set -eu if [ "${DOCKER_TAG}" = "latest" ]; then LIZARD_VERSION=$(docker run --rm ${IMAGE_NAME} --version) docker tag ${IMAGE_NAME} ${DOCKER_REPO}:${LIZARD_VERSION} docker push ${DOCKER_REPO}:${LIZARD_VERSION} fi
こちらは「ブログズミ: [DockerHub] AutomatedBuild でバージョンタグを自動でつける」で紹介した方法と同じです。
これでパイプラインは完成です。
今回は以上です。では。
0 件のコメント:
コメントを投稿