背景

服务器上运行jenkins的服务一直临时使用的是个人的账号,现在统一要求使用固定的发布账号来进行管理。因此需要将个人账号下的jenkins数据迁移到发布账号下。

一些基本信息:

  • 服务器系统: CentOS 7.x

  • 原账号: carl.shen

  • 新发布账号: deployer-jenkins
  • 发布模式: 在官网手动下载的war包运行部署,不是yum方式。

准备

jenkins的数据是通过自己目录下的xml来进行管理的,没有用到数据库。因此迁移时,只需要将对应的数据文件迁移到新账号指定的目录即可。

为了避免重新配置各个job,因此整个文件夹进行迁移是比较好的方法。

迁移过程

迁移步骤

由于是war包运行的方式,因此所有的jenkins数据默认都保存在家目录的~/.jenkins目录下。因此迁移步骤如下:

  • 在旧账号中停止jenkins服务。
  • 打包旧账号中的~/.jenkins的内容,拷贝到新账号的~/.jenkins目录中。
  • 新账号中修改~/.jenkins的文件读写权限为新账号。
  • 新账号中运行jenkins服务。

迁移记录

  • carl.shen账号下停掉jenkins服务。

  • carl.shen账号下打包~/.jenkins目录,拷贝到deployer-jenkins目录下,修改权限为deployer-jenkins

1
2
3
4
5
6
7
8
# carl.shen tar打包,拷贝到deployer-jenkins主目录
tar czvf jenkins.tar.gz .jenkins/
# 拷贝项目文件到deployer-jenkins主目录下
sudo mv jenkins.tar.gz /home/deployer-jenkins
# 修改文件owner
sudo chown deployer-jenkins:deployer-jenkins /home/deployer-jenkins/jenkins.tar.gz
  • deployer-jenkins用户解压tar包,运行jenkins
1
2
3
4
# deployer-jenkins 解压tar包
tar xzvf jenkins.tar.gz
nohup java -jar /usr/local/bin/jenkins.war /tmp/jenkins_war.log 2>&1 &

留言