Wil*_*Evo 1 google-cloud-platform google-cloud-build
假设我有一个如下所示的 cloudbuild.yaml 文件:
steps:
- name: 'gcr.io/cloud-builders/docker'
id: build
args: ['build', '-t', 'us.gcr.io/${PROJECT_ID}/image_name', '--build-arg', 'secret=$$SECRET', '.']
secretEnv: ['SECRET']
images:
- 'us.gcr.io/${PROJECT_ID}/image_name'
availableSecrets:
secretManager:
- versionName: projects/project/secrets/my_secret/versions/latest
env: 'SECRET'
Run Code Online (Sandbox Code Playgroud)
现在,--build-arg 正在为 Docker secretarg 分配值$SECRET,而不是实际存储在密钥中的值。在此步骤中如何访问秘密值?我可以在网上找到的所有示例都说添加 bash 入口点,但仅适用于实际上未执行构建调用的步骤。
这是 Cloud Build 和 Secret Manager 集成的常见问题。您只能在脚本中访问秘密,而不能在入口点和参数中访问秘密(您的情况)
尝试一下
steps:
- name: 'gcr.io/cloud-builders/docker'
id: build
entrypoint: 'bash'
args:
- -c
- |
docker build -t us.gcr.io/${PROJECT_ID}/image_name --build-arg secret=$$SECRET .
secretEnv: ['SECRET']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1406 次 |
| 最近记录: |