问题
我们使用Jenkins部署微服务项目的时候会有创建很多的job,突然某天,我们在一个新的分支上写好了一个新的版本,准备在某个环境上一下测试,于是让你把所有job的分支改成某个特定分支后部署,我的天,我还真一个个点进去改啊改。如果只有十几个还好,成百个job那不得改成狗了!果断放弃。
解决
如果我们能找到这个配置究竟保存在哪里,或许我们可以找到它的配置文件,然后使用sed命令来批量修改,这个想法不错,于是我终于找到了:
在安装jenkins的目录下 /jenkins
找到 jobs/
目录,这里面管理着所有的项目job,然后随便进去一个可以看到config.xml
文件,没错要的就是它。我们先在jenkins目录下,然后执行
sed -i -e "s/dev/dev2.0/g" jobs/*/config.xml
注意,这样会把所有的jobs目录下所有的目录里面的config.xml的dev替换成dev2.0 **
一定要注意!这里如果你的config.xml文件中还有别的dev字眼,也会被替换掉,你要自己先使用grep命令查看下里面有没有除了这个位置之外的地方,然后才做决策执行!(谨慎小心总是会给你回报!)你要确保你替换的部分确实是你需要替换的。
如果你只要替换部分文件,自己发现部分的特征去处理吧。
实际工作中还会遇到各种这样的问题,比如有时候我们需要将项目中的所有SNAPSHOT
改成RELEASE
,就可以找个gitbash到项目根目录下执行:
sed -i -e 's/1.0.0-SNAPSHOT/1.0.0-RELEASE/g' `find . -name pom.xml`
搞定!学会使用sed命令可以帮你很好的提高效率哦!