メモ2ブログ

メモtoウェブログ。旧ブログはこちら。 http://sakebook.blogspot.jp/

DockerHubでAutomated Buildsを使った時にDocker Tagがうまく設定できない

OpenSSLでファイルの暗号化/復号化をしたくてAlpineベースのDockerイメージを作成しました。

github.com

ググったら同じようなものがあったのですが、OpenSSLのバージョンやCA証明書が古かったりで使いにくかったので作成しました。

どのバージョンのOpenSSLが入っているか・または指定できるようにtagをつけて管理したいと思い、Automated Buildsでtagをpushした時に自動でつけられるようにしたかったのですが、ちょっとハマったのでメモ。

何をしたか

デフォルトでmasterブランチを対象に latest とtagを振ってくれるRULESがあるのですが、今回はtag名にしたかったので不要と思い削除しました。

f:id:sakebook:20190410012248p:plain
削除したRULES

その上でGitのtagを見てそれをDocker Tagになるように設定したのですが、 Docker Tag の部分がうまく指定できなくなりました。具体的には、何を入力しても latest になります。

f:id:sakebook:20190410012316p:plain
Docker Tagの{sourceref}がlatestに置き換わる

設定できそうに見えるのですが、保存すると Docker Taglatest に置きかわります。

latest tagを振るRULESが最低1つは必須なんだと思い、はじめにあったRULESを追加してもダメでした。

f:id:sakebook:20190410012347p:plain
latestあるけどダメだった

どうやら 一番上が優先される ようで、削除して latest が一番上に来るようにRULESを指定することで思ったように指定できるようになりました。

f:id:sakebook:20190410012413p:plain
設定できた状態

思えば latest のtagが振られていないものってないなと思い、それから逸脱するような指定はできないようになっているんだなと納得しました。

まとめ

  • RULESは上にあるものが優先される
  • latest tagの指定は必要
    • 一度tagをつけてAutomated Buildsに成功した後はlatest tagの指定を削除しても設定できるようになりました。一定の環境下でないと起きないのかもしれません。

参考

Set up Automated builds / Docker Documentation