Mar*_*yan 3 google-cloud-platform google-cloud-build
结束使用
options:
env:
Run Code Online (Sandbox Code Playgroud)
不完美,因为在构建步骤中不允许变量,但至少涵盖了环境。
GCPCloud build
不会在substitutions
节中替换变量。
有没有办法应用这些替换?
substitutions:
_HUGO_VERSION: "0.55.6"
_HUGO_IMG: gcr.io/$PROJECT_ID/hugo:$_HUGO_VERSION
Run Code Online (Sandbox Code Playgroud)
拥有$_HUGO_VERSION
并$PROJECT_ID
替换为值,得到:
_HUGO_IMG=gcr.io/foo/hugo:0.55.6
Run Code Online (Sandbox Code Playgroud)
但是 for 的值_HUGO_IMG
从字面上看:
_HUGO_IMG=gcr.io/$PROJECT_ID/hugo:$_HUGO_VERSION
Run Code Online (Sandbox Code Playgroud)
小智 6
现在支持您的预期行为。请参阅文档: 在替换中使用负载绑定和 bash 样式的字符串操作
options:
dynamic_substitutions: true
substitutions:
_HUGO_IMG: gcr.io/${PROJECT_ID}/hugo:${_HUGO_VERSION}
Run Code Online (Sandbox Code Playgroud)
小智 5
感谢您发布此信息!
你能发布完整的配置吗,当我尝试这个时,我得到一个错误,因为使用=
而不是:
声明替换时。
我看到的行为是:
hugo version: 0.55.6
hugo img: gcr.io//hugo:
Run Code Online (Sandbox Code Playgroud)
要插入默认或自定义替换,我建议改用 env 变量
steps:
- id: 'checking sub values'
name: 'gcr.io/cloud-builders/docker'
entrypoint: bash
args:
- '-c'
- |
echo 'hugo version: '${_HUGO_VERSION} # hugo version: 0.55.6
echo 'hugo img: '${_HUGO_IMG} # hugo img: gcr.io//hugo:
echo 'env hugo img: '$$HUGO_IMG # env hugo img: 'gcr.io/my-project/hugo:0.55.6'
substitutions:
_HUGO_VERSION: "0.55.6"
_HUGO_IMG: 'gcr.io/$PROJECT_ID/hugo:$_HUGO_VERSION'
options:
env:
- HUGO_IMG='gcr.io/$PROJECT_ID/hugo:$_HUGO_VERSION'
Run Code Online (Sandbox Code Playgroud)
请注意,环境变量需要与 $$
归档时间: |
|
查看次数: |
2278 次 |
最近记录: |