【发布时间】:2020-10-07 10:07:57
【问题描述】:
我昨天创建了我的第一个管道,我想用 CIRCLE_BUILD_NUM 环境变量替换我的 bundle.gradle 文件中的占位符。我发现的唯一方法是编写自己的“sed”命令并在运行语句中执行正则表达式。这很好地启动和运行,因为只有一个变量要替换,但是这种方法显然不会扩展,在路上。是否有 CircleCI 功能/orb 或其他方法可以在整个项目中进行更全面的占位符/envar 交换?
- run:
name: Increment build id
command: sed "s/_buildNum/${CIRCLE_BUILD_NUM}/g" -i build.gradle
编辑
寻找类似于 Azure DevOps 中的实用程序/工具/orb/CircleCI 最佳实践(Jenkins 也执行类似的功能):只需将指定文件中的所有占位符替换为匹配相同名称的环境变量。
https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens
【问题讨论】:
-
对于单个文件,envsubst 做得很好。不过对整个项目来说不是很方便。
-
@taleodor 这就是我目前在 bash 脚本中使用的。不过,我想知道 CircleCI 认为此类操作的最佳实践是什么。
标签: environment-variables circleci circleci-2.0 circleci-workflows