首页 > 解决方案 > 通过 Jenkins 文件自动更新代码

问题描述

我有我的源代码,里面有 Jenkinsfile,我使用 jenkinsfile 将我的源代码部署到 ec2。

我的代码结构:

apiSourceCode
  - folder1
  - folder2
      - file.xml
  - Jenkinsfile
  - README.md

使用上面的 jenkinsfile 我将我的代码部署到 ec2,这个 jenkinsfile 会自动识别源代码中的新更改并将这些更改部署到 ec2。

文件.xml 内容

<site_name>google.com</site_name>

我的目标/要求如下:

我想用一些内容更新folder1/file.xml ,比如说<site_name>yahoo.com</site_name> 但想通过 jenkinsfile env 变量进行更新。

所以基本上我会在jenkinsfile的env变量中传递site_name ,并且site_name应该在某个阶段在file.xml中更新,比如说INIT阶段,然后是后续阶段,假设BUILD应该自动跟随。有可能做到这一点吗?

标签: xmljenkinsjenkins-pipelinejenkins-groovy

解决方案


你会得到 1000 条不同的建议,find还有sed一些 perl,你永远不会弄清楚它是如何工作的。

您没有提及语言标签或构建工具标签,但如果您使用 maven 构建,请考虑mvn replacer-plugin:replace.

或者您可以将其定义为 pom.xml 中的 maven 属性,然后您可以在构建时使用命令行参数覆盖:mvn -D=site_name=yahoo.com install


推荐阅读