DevOps / Jenkins

Jenkins与Git使用中常见问题总结

浅时光 · 3月12日 · 2020年 · 11531次已读

1、Jenkins升级方法

  • 如果是通过Tomcat启动Jenkins则直接下载新war包替换即可
Jenkins与Git使用中常见问题总结-浅时光博客

2、 Jenkins执行任务后自动kill进程

2.1:问题描述:

  • 在pipeline的jenkinsfile中定义了执行tomcat的启动脚本,在视图中显示脚本执行了,tomcat也启动完成,但是查看tomcat进程后却没有进程
Jenkins与Git使用中常见问题总结-浅时光博客
  • 服务器上查看却没有进程
Jenkins与Git使用中常见问题总结-浅时光博客

2.2:问题原因:

  • pipeline在执行脚本后就会自动关闭这个进程(后台进程)

2.3:解决方案:

  • 在jenkinsfile中添加变量参数 JENKINS_NODE_COOKIE=dontkillme
withEnv(['JENKINS_NODE_COOKIE=dontkillme']) {
    sh '''
        ssh [email protected]_ip "/opt/tomcat/bin/start.sh"
    '''
}

3、Jenkins-Slave节点的工作空间

  • Jenkins-slave从机上的代码工作空间文章来源(Source):https://www.dqzboy.com(workspaces),是配置从机时定义的。比如下图
Jenkins与Git使用中常见问题总结-浅时光博客

4、 如果没有自定义Jenkins的主目录后期如何修改

  • 当刚开始建议jenkins时没文章来源(Source):https://www.dqzboy.com有去修改jenkins的工作主目录,那么后期默认的目录空间不够的解决方案:
    • 方案1:扩大jenkins所在磁盘的空间
    • 方案2:修改jenkins的默认工作主目录路径,然后进行迁移原来工作目录下的数据到新的目录下
  • 修改jenkins的工作主目录方式,按照该文档的jenkins安装部署中方式进行修改
    • 1、停止正在运行的jenkins
    • 2、修改tomcat的bin目录下的catalina.sh执行文件
    • 3、创建目录
    • 4、拷贝原来jenkins主目录下的所有文件到新的jenkins的主目录下
    • 5、重启jenkins
Jenkins与Git使用中常见问题总结-浅时光博客
  • 最后可以在jenkins系统配置中查看是否修改成功
Jenkins与Git使用中常见问题总结-浅时光博客
Jenkins与Git使用中常见问题总结-浅时光博客
Jenkins与Git使用中常见问题总结-浅时光博客

5、 Jenkins无法拉取SVN项目最新的代码

5.1:问题原因

查看网上说法是由于SVN服务器与Jenkins服务器的时间不一致导致

Jenkins服务器时间与SVN服务器时间不一致,Jenkins的SVN插件是使用时间标签下载,而不是取HEAD,因此如果svn服务器的提交代码时间比Jenkins的当前时间晚,该代码就不会被更新。

也就是说Jenkins在 10:56 更新代码,而SVN上14、15版都是在 10:56 后提交的,所以Jenkins只能检测到 10:56 之前的最新版本。

5.2:解决方案

方案一:在SVN项目URL地址后面添加@HEAD

  • 示例:如项目地址为svn://http:localhost/trunk/BKMC, 改成svn://http:localhost/trunk/[email protected]
  • 在pipline脚本中也是需要添加@HEAD

方案二:同步Jenkins和SVN服务器的时间,文章来源(Source):https://www.dqzboy.com使两者保持一致

6、 git合并代码报错

6.1:问题截图

Jenkins与Git使用中常见问题总结-浅时光博客

6.2:问题原因

  • master上最新的代码和本地的代码不一样

6.3:解决方案

[[email protected]~ ]# git pull --rebase origin master

#然后再次上传代码
[[email protected]~ ]# git push origin master
Jenkins与Git使用中常见问题总结-浅时光博客

7、Win环境下的Jenkins更改Job工作空间

  • 说明:我这里是直接通过Jenkins.msi文件起的
  • 停掉正在运行的Jenkins程序,修改Jenkins安装目录下的config.xml文件【默认安装目录: C:\Program Files (x86)\Jenkins】
  • 用编辑器打开文件修改以下内容
Jenkins与Git使用中常见问题总结-浅时光博客
  • 最后重启Jenkins

8、Jenkins下载插件很文章来源(Source):https://www.dqzboy.com

  • 首次安装jenkins会进行下载插件的步骤,我们可以跳过,后面通过后台的方式更改国外的插件源为国文章来源(Source):https://www.dqzboy.com内的,具体操作如下:
  • Jenkins → Manage Jenkins → Manage Plugins → Available
  • 等待插件完全加载完毕(浏览器的顶部搜索栏不在转圈即为加载完毕)
  • 登入Jenkins服务器,查看插件地址文件已经下载到本地服务器
[[email protected] ~]# find / -name updates
  • default.json文件中记录了我们所有的插件下载地址,但是记录的地址为国外的地址,接下来通过sed命令进行更改为清华的一个Jenkins地址
[[email protected] updates]# sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
  • Jenkins → Manage Jenkins → Manage Plugins → Advanced
  • 在Advanced(高级设置)中将默认的地址也更改为国内地址
Jenkins与Git使用中常见问题总结-浅时光博客
  • 清华源jenkins插件地址: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-cent文章来源(Source):https://www.dqzboy.comer.json
Jenkins与Git使用中常见问题总结-浅时光博客
  • 重启jenkins,在浏览器jenkins地址后面加restart即可完成重启
Jenkins与Git使用中常见问题总结-浅时光博客

9、Jenkins工作空间下有多个@tmp目录

9.1:问题描述:

最近项目在进行构建前端项目时,执行到npm install时出现了出现写入到目录的问题

9.2:问题原因:

出现两个或者出现多个@tmp或者@[email protected]等格式命名的目录,这说明你的JOB任务在并行构建,并行的时候是没法儿对同一个目录进行操作的,所以它会随机的去产生那么几个目录

9.3:解决方案:

将JOB任务文章来源(Source):https://www.dqzboy.com设置为【不允许并发构建】或者每个构建执行完成后清理文章来源(Source):https://www.dqzboy.com工作目录

文章来源(Source):https://www.dqzboy.com

10、Jenkins执行的Job无法停止

10.1:问题描述:

  • 正在执行构建的Job任务想要停止掉,但是点 X 无法结束
文章来源(Source):https://www.dqzboy.com

10.2:解决方案:

  • 选择当前正在执行构建的ID号,弹出当前构建的页面。然后在url后面加个kill 回车。强制关闭构建。
Jenkins与Git使用中常见问题总结-浅时光博客
0 条回应
    本站已安全运行: | 耗时 0.385 秒 | 查询 107 次 | 内存 18.94 MB