1.31
续30号
实际操作
debian 中添加jenkins源
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
apt-get update
apt-get install jenkins
安装完成
浏览器输入
http://10.20.12.185:8080/
Please wait while Jenkins is getting ready to work ...
Your browser will reload automatically when Jenkins is ready.
在目录下
vim hudson.model.UpdateCenter.xml
将 url 中的
https://updates.jenkins.io/update-center.json
更改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
是国内的清华大学的镜像地址。
或者更改为http://updates.jenkins.io/update-center.json,即去掉 https 中的 s 。
然后重启jenkins
安装完成
旧服务器
ssh root@10.20.13.235
systemctl stop jenkins
查看是否关闭成功
systemctl status jenkins
tar -cvf jenkins.tar /var/lib/jenkins
scp jenkins.tar root@10.20.12.185:/var/lib/jenkins
新服务器:
systemctl stop jenkins
systemctl status jenkins
tar jenkins.tar /var/lib/jenkins
打开http://10.20.12.185:8080/
密码错误
在jenkins目录下
cd users
cd 用户目录
vim config.xml
<passwordHash>
将这个位置改成#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS
</passwordHash>
systemctl restart jenkins
登陆
密码错误
换一种方式
cd ..
cd ..
cp config.xml config.xml.bak
vim config.xml
删除以下内容
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>true</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>
登陆成功
发现少了内容
发现jenkins服务在压缩时启动了
再次打包
scp
解压
重启
输入以前的用户密码
成功
jenkins迁移成功
遗留问题
执行脚本会堵塞在if的判断语句中无法跳出
ConfigDir=config
ListCron=${ConfigDir}/crontab.list
function Detect_Cron {
if [[ $(cat ${ListCron}) != $(crontab -l) ]]; then
crontab ${ListCron}
fi
}