Jenkins迁移

This is a subtitle

Posted by PaysonChen on June 20, 2021

1、Jenkins迁移目录

1.1 Jenkins安装后的目录

Jenkins的安装不再赘述可以参考https://www.jenkins.io/zh/doc/book/installing/,

安装完之后Jenkins的目录是隐藏目录,可以通过命令行显示

1
2
3
defaults write com.apple.finder AppleShowAllFiles -boolean true 
killall Finder

1.2 jobs

jobs目录为Jenkins存储【项目配置】及【构建历史】的文件夹,

img

config.xml为项目配置

builds为构建历史包含

  • build.xml

    构建信息包括:actions、queueId、timestamp、startTime、result、duration、charset、keepLog、builtOn、workspace、hudsonVersion、scm、culprits

  • ​ changelog.xml

    代码提交记录

    1
    2
    3
    4
    5
    6
    7
    8
    
    commit 571f1f4e25f8d35234f31a4e5270ab4eea5f7623
    tree 11663eebbb089bc414048ffbf7c91de331d021cc
    parent 0a3d1d8057ba3e33055d8bfafcb25d00f3a5f93b
    author xxx <xxx@xxx.com> 2021-06-30 14:27:29 +0800
    committer xxx <xxx@xxx.com> 2021-06-30 14:27:29 +0800
      
        修复双卡运营商切换不更新
      
    
  • ​ log

    构建日志,Jenkins构建历史中的控制台输出

2、迁移项目配置

2.1 手工迁移

手工迁移能完成Jenkins迁移的工作,但是操作反锁且无法保障完整性,在迁移初期果断放弃。

2.2 备份Jobs迁移

步骤1:目标机开启SSH服务

步骤2:源机使用scp命令,将源机需要迁移的项目在Jobs目录下的文件夹远程复制到目标机.jenkins/Jobs目标下

1
scp -r /Users/chen/.jenkins/jobs/SPM_iOS xxx@xx.xx.xxx.xxx:/Users/xx/.jenkins/jobs/SPM_iOS

步骤3:目标机Jenkins 如果配置的Git账号不一样,需要修改Git Credentials

步骤4:目标机需要刷新配置

image-20210811104136231

image-20210811104136231

步骤5:如果有外部脚本调用(sh、Python),需要将相应的脚本也通过scp命令拷贝到目标机相对路径下

步骤6:尝试构建。如果成功忽略下面步骤,如果失败,构建中可能有些环境不一致,比如uglifyjs没有安装

1
2
uglifyjs: command not found
Build step 'Execute shell' marked build as failure

*步骤7:安装缺失的环境(这里缺失uglify,缺失其他的可以自行安装)

1
npm install uglify-js -g   

*步骤8:安装完如果还遇到步骤5的失败,在Jenkins配置的shell中添加,刷新当前环境

1
source ~/.bash_profile

image-20210811104136231

3、其他

最后如无其他后续需求,建议关闭目标机SSH服务