Не удалось вытащить BRANCH_NAME из облачной сборки
За документ https://cloud.google.com/cloud-build/docs/configuring-builds/substitute-variable-values
Я должен был тянуть $BRANCH_NAME
но как-то это не соответствует. Иногда это показывает имя репо, а иногда ничего.
Вот мой шаг
steps:
- name: "gcr.io/cloud-builders/go"
env:
- "PROJECT_ROOT=blah"
- "GOOS=linux"
- "GOARCH=amd64"
- "CGO_ENABLED=0"
args:
[
"install",
"-ldflags",
"-d -s -w -X main.version=${TAG_NAME} -X main.commit=${SHORT_SHA} -X main.branch=${BRANCH_NAME}",
"-a",
"-tags",
"netgo",
"-installsuffix",
"netgo",
"blah/cmd/svc-api",
]
вот что я вижу на консоли:
Step #0 - "go-install": Running: go install -ldflags -d -s -w -X main.version=0.0.6p20-dev -X main.commit=ebf5281 -X main.branch= -a -tags netgo -installsuffix netgo blah/service
с начала моего сервиса:
Мне не хватает названия филиала.
Service : 2019/02/27 17:04:06.570856 main.go:135: TRACE MAIN : Started : Service Initializing version "0.0.6p20-dev" : **""** : "ebf5281"
1 ответ
Решение
Кажется, потому что моя сборка основана на триггере, у которого нет имени ветки. Но решение, которое я нашел, заключается в использовании substitutions
во время процесса сборки.
https://cloud.google.com/cloud-build/docs/configuring-builds/substitute-variable-values