我目前有一个流程来使用Jenkins OpenShift插件通过以下命令构建和部署我们的应用程序到OpenShift:
openshift.newBuild("--image-stream=${builderImageName}", "--binary=true", "-n ${projectName}", "--to=${applicationName}:${targetEnv}")
openshift.startBuild("${applicationName}", "--from-dir=.", "--wait=true", "-n ${projectName}")
openshift.newApp("-n ${projectName}", "--template=${templateName}", "--param-file=${appDeployConfigFileName}", "--env-file=${appEnvFileName}")
这是按预期工作的。我的问题是,一旦部署了应用程序,如果需要添加额外的变量,如何更新env变量?我基本上想要复制通过ui和添加env变量的功能。但是,我想使用openshift插件或oc工具来执行此操作,并使用变量文件而不仅仅是一组键值。
答案 0 :(得分:1)
您需要更新应用程序的部署配置
oc set env dc/<your_app> MYVAR=foo -n <project_name>
答案 1 :(得分:0)
如果您尝试使用构建器映像(使用S2I也称为源到映像的容器映像)在SCM中存储环境变量,请使用环境文件.s2i/environment
。