concourse.ci 元数据变量替换发生在哪里?

where is concourse.ci metadata variable substition happening?

在大厅管道定义中,您可以使用 $BUILD_NAME et.al 等元数据变量。

在处理自定义资源时,我想知道变量替换发生在哪里:在 yml 中还是在资源脚本中?

对我来说,似乎变量在传递给脚本之前在 yml 中 未被 替换,脚本必须处理这个问题?

你是对的,元数据变量替换是在资源脚本中完成的。

容器,特别是资源 getput 容器是两件事:根文件系统和 运行 进程(脚本 /opt/resource/get/opt/resource/put). metadata variables 是在 运行 进程上设置的环境变量。元数据变量字符串(例如 $BUILD_NAME)只是通过模板过程传递给资源。查找这些字符串并用适当的环境变量替换它们是资源的责任。