Не удалось вытащить 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

Другие вопросы по тегам