博文背景
Jenkins换源一直难住了我,这次趁此机会彻底解决这个问题。
在我琢磨了很多方案之后,最终选择了这个办法,希望对读者有所帮助。
具体操作
1.安装Jenkins软件
前面的大同小异的东西就不在这里说了,先假设读者进行到这一步
输入密码点击下一步过后等一小会应该会出现
/var/lib/jenkins/updates/default.json
这个文件,然后我们使用文本替换命令对它里面的内容进行替换
sudo sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json
sudo sed -i 's/www.google.com/www.baidu.com/g' /var/lib/jenkins/updates/default.json
后面应该会出现安装插件的界面,我建议安装推荐插件,然后配置好密码。
2.配置文本替换程序
首先我们要安装监控程序监控那个文件的变化
sudo apt install inotify-tools
然后创建一个监控脚本来监控文件的变化并执行替换操作
ubuntu@focal:~$ ls -l /opt/jenkins/sed_updates_json.sh
-rwxrw-r-- 1 ubuntu ubuntu 296 Sep 10 16:23 /opt/jenkins/sed_updates_json.sh
ubuntu@focal:~$ cat /opt/jenkins/sed_updates_json.sh
#!/usr/bin/bash
while inotifywait /var/lib/jenkins/updates/default.json; do
sudo sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json;
sudo sed -i 's/www.google.com/www.baidu.com/g' /var/lib/jenkins/updates/default.json;
done
再安装进程管理程序supervisor保证上面的脚本一直处于运行状态
sudo apt install supervisor
配置进程管理文件
参考https://www.jianshu.com/p/0b9054b33db3进行操作
执行echo_supervisord_conf
可以查看到模板文件
ubuntu@focal:~$ cat /etc/supervisor/conf.d/sed_jenkins.conf
[program:sed_jenkins]
command=/opt/jenkins/sed_updates_json.sh
directory=/tmp
autostart=true
autorestart=false
user=ubuntu
stderr_logfile=/tmp/sed_jenkins_stderr.log
stdout_logfile=/tmp/sed_jenkins_stdout.log
redirect_stderr=true
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=20
重新加载配置文件
sudo supervisorctl update
sudo supervisorctl status
sudo supervisorctl start sed_jenkins
替换upate site
https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
点击Check Now按钮
并执行head -c 800 /var/lib/jenkins/updates/default.json
发现文本已被替换