在 Google Cloud Builder 中获取标签
Fetching Tags in Google Cloud Builder
在新创建的 google 容器构建器中,我无法在构建过程中获取 git 标签。在构建过程中,默认克隆似乎不会获取 git 标签。我添加了一个调用 git fetch --tags
的自定义构建过程,但这会导致错误:
Fetching origin
git: 'credential-gcloud.sh' is not a git command. See 'git --help'.
fatal: could not read Username for 'https://source.developers.google.com': No such device or address
# cloudbuild.yaml
#!/bin/bash
openssl aes-256-cbc -k "$ENC_TOKEN" -in gcr_env_vars.sh.enc -out gcr_env_vars.sh -
source gcr_env_vars.sh
env
git config --global url.https://${CI_USER_TOKEN}@github.com/.insteadOf git@github.com:
pushd vendor
git submodule update --init --recursive
popd
docker build -t gcr.io/project-compute/continuous-deploy/project-ui:$COMMIT_SHA -f /workspace/installer/docker/ui/Dockerfile .
docker build -t gcr.io/project-compute/continuous-deploy/project-auth:$COMMIT_SHA -f /workspace/installer/docker/auth/Dockerfile .
明确地说,您希望 Git 存储库中的所有标签都可用,而不仅仅是在标签更改时触发?在后者中,触发标签应该可用IIUC。
我会向 Container Builder 团队的某个人寻求更详细的解释,但该错误告诉我他们使用 gcloud 克隆了 Google Cloud Source Repository (GCSR),它配置了 Git 如此命名的凭证助手。他们可能在调用您的容器或主机上之前在另一个容器中执行此操作。由于 gcloud and/or gcloud 凭据助手在您的容器中不可用,因此您无法使用 GCSR 正确进行身份验证。
您可以进一步了解凭证助手 here。
这对我有用,作为第一个构建步骤:
- name: gcr.io/cloud-builders/git
args: [fetch, --depth=100]
在新创建的 google 容器构建器中,我无法在构建过程中获取 git 标签。在构建过程中,默认克隆似乎不会获取 git 标签。我添加了一个调用 git fetch --tags
的自定义构建过程,但这会导致错误:
Fetching origin
git: 'credential-gcloud.sh' is not a git command. See 'git --help'.
fatal: could not read Username for 'https://source.developers.google.com': No such device or address
# cloudbuild.yaml
#!/bin/bash
openssl aes-256-cbc -k "$ENC_TOKEN" -in gcr_env_vars.sh.enc -out gcr_env_vars.sh -
source gcr_env_vars.sh
env
git config --global url.https://${CI_USER_TOKEN}@github.com/.insteadOf git@github.com:
pushd vendor
git submodule update --init --recursive
popd
docker build -t gcr.io/project-compute/continuous-deploy/project-ui:$COMMIT_SHA -f /workspace/installer/docker/ui/Dockerfile .
docker build -t gcr.io/project-compute/continuous-deploy/project-auth:$COMMIT_SHA -f /workspace/installer/docker/auth/Dockerfile .
明确地说,您希望 Git 存储库中的所有标签都可用,而不仅仅是在标签更改时触发?在后者中,触发标签应该可用IIUC。
我会向 Container Builder 团队的某个人寻求更详细的解释,但该错误告诉我他们使用 gcloud 克隆了 Google Cloud Source Repository (GCSR),它配置了 Git 如此命名的凭证助手。他们可能在调用您的容器或主机上之前在另一个容器中执行此操作。由于 gcloud and/or gcloud 凭据助手在您的容器中不可用,因此您无法使用 GCSR 正确进行身份验证。
您可以进一步了解凭证助手 here。
这对我有用,作为第一个构建步骤:
- name: gcr.io/cloud-builders/git
args: [fetch, --depth=100]