业务需求 现将web项目中的分支从xiongan改为rongdong
方法一:手动登录到jenkins中找到项目一个一个的去配置中修改
方法二:通过sed批量修改job目录里面的config.xml文件
修改分支的时候 我们一般是通过jenkins的web界面-job-配置然后进行修改 其实在jenkins服务器中也有一个相应的配置文件可以控制分支 代码路径 定义的变量等 修改此配置文件和从web界面的配置里面修改是一样的
通过find去查找以项目名命名的目录 并进入jobs/jobs-name 进入后果然发现了config.xml文件
[root@jenkins xiongan-group-fmp-web]# find / -name xiongan-group-fmp-web
/var/lib/jenkins/workspace/xiongan-group-fmp-web
/var/lib/jenkins/jobs/xiongan-group-fmp-web
[root@jenkins xiongan-group-fmp-web]# ls /var/lib/jenkins/jobs/xiongan-group-fmp-web/
builds config.xml config.xml.bak nextBuildNumber
进入jobs目录批量修改项目中的分支
查找一下现有的分支名是否和配置文件中有重复的项 以免修改错误
[root@jenkins jobs]# for i in `find . -name "xiongan-*-web"|grep -v gov|awk -F/ '{print $NF}'`;do grep -r "xiongan" $i/config.xml;done
<name>*/xiongan</name>
<name>*/xiongan</name>
<name>*/xiongan</name>
<name>*/xiongan</name>
<name>*/xiongan</name>
<name>*/xiongan</name>
<name>*/xiongan</name>
<name>*/xiongan</name>
<name>*/xiongan</name>
<name>*/xiongan</name>
确认没有之后进行修改,在修改的时候尽量备份一下 以免修改错误
[root@jenkins jobs]# for i in `find . -name "xiongan-*-web"|grep -v gov|awk -F/ '{print $NF}'`;do sed -i.bak 's#xiongan#rongdong#g' $i/config.xml;done
[root@jenkins xiongan-group-fmp-web]# ls /var/lib/jenkins/jobs/xiongan-group-fmp-web/
builds config.xml config.xml.bak nextBuildNumber
[root@jenkins jobs]# for i in `find . -name "xiongan-*-web"|grep -v gov|awk -F/ '{print $NF}'`;do grep -r "rongdong" $i/config.xml;done
<name>*/rongdong</name>
<name>*/rongdong</name>
<name>*/rongdong</name>
<name>*/rongdong</name>
<name>*/rongdong</name>
<name>*/rongdong</name>
<name>*/rongdong</name>
<name>*/rongdong</name>
<name>*/rongdong</name>
<name>*/rongdong</name>
已经全部修改为rongdong
重启jenkins是配置文件生效
[root@jenkins xiongan-group-fmp-web]# systemctl restart jenkins
[root@jenkins xiongan-group-fmp-web]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: active (running) since Mon 2022-06-27 10:09:20 CST; 1s ago
Docs: man:systemd-sysv-generator(8)
Process: 29292 ExecStop=/etc/rc.d/init.d/jenkins stop (code=exited, status=0/SUCCESS)
Process: 29337 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
Tasks: 30
Memory: 238.6M
CGroup: /system.slice/jenkins.service
└─29361 /usr/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=...
Jun 27 10:09:19 jenkins systemd[1]: Starting LSB: Jenkins Automation Server...
Jun 27 10:09:19 jenkins runuser[29342]: pam_unix(runuser:session): session opened for user root by (uid=0)
Jun 27 10:09:20 jenkins runuser[29342]: pam_unix(runuser:session): session closed for user root
Jun 27 10:09:20 jenkins systemd[1]: Started LSB: Jenkins Automation Server.
Jun 27 10:09:20 jenkins jenkins[29337]: Starting Jenkins [ OK ]
登录jenkins查看修改成功