公開中のdocker imageを整理した

最近、docker hubに公開しているimageを整理した。整理したのはsandbox用のimage。

Dockerfileはプロジェクトに含めるのが普通だと思うんだけど、sandbox的なプロジェクトではimageを使いまわしたかったのでdocker hubで公開していた。

そうしていたら、ちょっとパッケージを入れたくらいのimageが増えてきてその分githubのリポジトリも増えてきた。しかし、リポジトリを分けるほどでもないかなと思ったので1つにまとめることにした。

docker hubの自動ビルドはcontextを指定できるので1つのgithubリポジトリで複数のimageを管理することはできる。

ただし単純にmainブランチへのpushを自動ビルドのトリガーにすると、すべてのcontextで自動ビルドが走ってしまう。できれば変更のあったimageだけビルドするようにしたかった。

考えた結果、mainブランチではなく各リリース用のブランチを自動ビルドのトリガーにするようにした。

作業フローとしてはmainブランチのDockerfileを更新、リリースする時は対象のブランチへmainからPRを送ってマージする。

これでsandbox用の適当なimageは1つのリポジトリにまとめることができた。あまりまとめすぎるのも良くないと思うけどsandbox用なのでまあ良いかという感じ。

コメント