tl;dr
- debian環境でGo 1.9でbuildしたい
-
gcr.io/cloud-builders/go:debian
で1.9が使えるようになったのでこれを使う
GCCBでの1.9対応
GCCB上でbuildするときはgcr.io/cloud-builders/go
を使うと思います。
これはgcr.io/cloud-builders/go:alpine
のaliasで1.9のリリースとほぼ同時に1.9になっていました。
$ docker run --rm --name go -it gcr.io/cloud-builders/go:alpine version
Documentation at https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/go/README.md
Running: go version
go version go1.9 linux/amd64
ただStackdriver debuggerを使う関係上、Debian環境で1.9を使いたかったので自前でGCRにgolang:1.9-stretch
をpush1して使っていました。
go:debianの追加
そんな折、cloud-builders
のgithub repositoryに最新のgoバージョンに対応させるため、go:debian
を追加するPRがmergeされました。
これを使えばDebian環境でも1.9になるはず!!と思っていた時期が私にもありました。
しかしながら、このtagがGCRにpushされていない…
$ gcloud container images list-tags gcr.io/cloud-builders/go
DIGEST TAGS TIMESTAMP
6f712a3836a0 wheezy 2017-09-21T17:25:46
23ba11fb826c alpine,latest 2017-09-21T17:25:30
0cd2b6e8cdcd 2017-09-20T17:23:01
c0f7b7bfc202 2017-09-20T17:22:42
f597b5141e73 2017-09-19T17:22:54
241f728b7bb3 2017-09-19T17:22:37
509a6c7d020f 2017-09-18T20:53:32
94531456647a 2017-09-18T20:53:13
ed66988eacd0 2017-09-17T17:28:52
9f1b5a7c72ff 2017-09-17T17:28:35
上記PRがmergeされてから待てど暮せどなかなかpushされなかったのですが、今朝みてみるとpushされているではありませんかっ!!
$ gcloud container images list-tags gcr.io/cloud-builders/go
DIGEST TAGS TIMESTAMP
527a43716750 debian 2017-09-29T06:19:23
3919ecc1666f wheezy 2017-09-29T06:18:55
a3a582ebc1c0 alpine,latest 2017-09-29T06:18:36
9658d11fc459 2017-09-29T02:47:57
196314f42c9e 2017-09-29T02:47:39
520401f83ed4 2017-09-28T17:34:36
9f16dd3584be 2017-09-28T17:34:14
86c1525fcd64 2017-09-27T17:27:13
b9adc60868f3 2017-09-27T17:27:00
1d112e1afe1c 2017-09-26T17:22:56
これで勝つる!
cloudbuild.yaml更新
以下のようなstepを書けば早速つかえます。
cloudbuild.yaml
steps:
- name: gcr.io/cloud-builders/go:debian
args:
- test
- name: gcr.io/cloud-builders/go:debian
args:
- build
おしまい。
-
GOPATH
とかをworkspaceに対応させるためにごにょったimage ↩