我使用 Gitlab CI 管道和 To be Continuous 模板来部署我的应用程序。 我的生产环境分为 2 个不同的 Openshift 云。所以我有 2 个不同的 OS_TOKEN 值。 阅读持续文档我知道必须将我的 Openshift 令牌存储在 OS_TOKEN 变量中,该变量对于生产环境类型是唯一的。
是否有人尝试并成功在同一管道中的不同 Openshift 实例上部署应用程序?
我终于找到解决办法了。
在变量 $MY_CLOUD 中,我定义要部署到的云的名称:“CLOUD1”、“CLOUD2”...
我将每个云的令牌存储在专用变量中:$OS_TOKEN_CLOUD1,$OS_TOKEN_CLOUD2,...
在经典变量定义之后,我使用 作用域变量:
添加以下指令OS_TOKEN: ${OS_TOKEN_CLOUD1} #default value
scoped__OS_TOKEN__if__MY_CLOUD__equals__CLOUD2: ${OS_TOKEN_CLOUD2}
限制:我必须通过云运行一次管道。 我更希望管道启动一次并部署在每个云上。