我们使用Jenkins不断构建我们的应用程序并将它们部署到我们的不同空间:
...
cf login -a https://api.lyra-836.appcloud.swisscom.com -u ...
cf target -s development
cf push scs-flux-monitoring-development
...
现在我们认识到推送有时会占用错误的空间来安装应用程序。我们认为这是因为另一个Jenkins Job正在进行并行推送。到目前为止,我们可以看到.cf / config.json存储了Space的名称,当调用另一个cf目标时,所有推送都在使用该新目标。
任何认识到这种行为的人呢?有什么建议可以解决吗?
亲切的问候
约瑟夫
答案 0 :(得分:1)
您可以选择几种方式:
不要使用允许不同作业之间共享状态的CI解决方案。就像Cloud Foundry使用容器来隔离应用程序一样,有一些CI解决方案使用容器来隔离构建。一个很好的例子是Concourse CI,它实际上是核心Cloud Foundry开发团队使用的主要解决方案。
让每个Jenkins工作都使用CF_HOME
的其他位置,这样他们就不会共享~jenkins/.cf
:
$ cf help | grep CF_HOME
CF_HOME=path/to/dir/ Override path to default config directory