我们正在使用Jenkins构建(并运行)我们的Web应用程序。我们的每个客户都有一个专用的应用程序实例,有自己的配置(与特定的数据库服务器,报告服务器等交谈)。我正在使用不同的方式为基于"客户端"设置每个实例的配置。詹金斯项目的轴心。到目前为止,我想出了:
- 使用"评估的Groovy脚本"字段,用于根据客户端轴值返回环境变量的映射(本质上是一个巨大的switch语句)
- 我们的应用程序的CLI有一个用于设置配置值的命令,因此脚本步骤可以检查环境并运行相应的配置设置命令(同样,大长开关)
- 使用客户端轴值作为文件名从存储在某处的配置文件夹中复制预设配置文件(因此将客户端设置为" client_a"将
$CONFIG_DIR/client_a.json
复制到应用程序'工作区内的配置文件夹。
醇>
这些对我来说都是好的选择,但我很想听到:
- 是否将配置值存储在Jenkins之外(即选项3)最好将它们全部转储到作业本身
- 任何其他可能被认为是更好的做法。