werckerのinternal/docker-pushは予め用意したコンテナ内で様々な処理をして
その処理結果をコンテナイメージとして固めて PUSHする stepである。
GCR(Google Container Registry)の他Docker Hubやquay.io、ECRにも対応している。
※ 2017/4/10に見たところマニュアルが修正されていたので日本語での参考情報程度に...
GCRの v1 API廃止の影響で、マニュアル通りだとPUSHができないので対応策を以下に示す。
公式のマニュアルが更新されるまでのつなぎで。
slackのwercker communityでは対応策が示されているけど流れるだろうし...
公式のマニュアル
ただしこのマニュアル通りだと動作しない。
このままだとGCR v1 APIを使用してPUSHを行うようだが、
https://cloud.google.com/container-registry/docs/support/deprecation-notices
の通り2/15で停止された
(実際は3/17の午後から完全にアクセスできなくなった。)
対応策
単純に以下の用にregistryの末尾に /v2をつければ良い
deploy:
- internal/docker-push:
username: _json_key
password: $GCR_JSON_KEY_FILE
repository: gcr.io/<MY-PROJECT-ID>/<MY-IMAGE>
registry: https://gcr.io/v2
日本でのGCPユーザの場合 asia.gcr.ioにpushするだろうけど、その場合は
registry: https://asia.gcr.io/v2
としてやれば良い。