業(yè)務需求 現(xiàn)將web項目中的分支從xiongan改為rongdong
方法一:手動登錄到jenkins中找到項目一個一個的去配置中修改
方法二:通過sed批量修改job目錄里面的config.xml文件
修改分支的時候 我們一般是通過jenkins的web界面-job-配置然后進行修改 其實在jenkins服務器中也有一個相應的配置文件可以控制分支 代碼路徑 定義的變量等 修改此配置文件和從web界面的配置里面修改是一樣的
通過find去查找以項目名命名的目錄 并進入jobs/jobs-name 進入后果然發(fā)現(xiàn)了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目錄批量修改項目中的分支
查找一下現(xiàn)有的分支名是否和配置文件中有重復的項 以免修改錯誤
[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>
已經(jīng)全部修改為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查看修改成功