Jenkins 踩坑记录

本文解决Jenkins执行Docker pull时遇到的权限错误,通过将Jenkins用户加入Docker用户组来修复。同时,针对Jenkins运行用户和用户组问题,提供了修改用户默认目录和添加Java执行参数的解决方案。
摘要由CSDN通过智能技术生成
  • jenkins 执行 docker pull 权限错误  

执行shell

docker pull maven:3-alpine

错误信息

Warning: failed to get default registry endpoint from daemon (Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/info: dial unix /var/run/docker.sock: connect: permission denied). Using system default: https://index.docker.io/v1/

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/images/create?fromImage=maven&tag=3-alpine: dial unix /var/run/docker.sock: connect: permission denied

script returned exit code 1

解决方案

# 将jenkins加入docker用户组
sudo usermode -aG docker jenkins
  • jenkins maven 仓库目录问题

问题描述

  1. 其实这个是用户目录造成的问题,由于配置文件`/etc/default/jenkins`中配置的用户默认是 jenkins。
  2. 这个用户没有对应的用户目录,这就会导致maven仓库被映射到 ?/.m2 。
  3. 这个问题在利用docker构建项目的时候也会出现,挂在了仓库目录,依赖包并没有写入。

解决方案

  1. 修改jenkins运行用户和用户组
  2. 添加java执行参数 -Duser.home=/path
  • jenkins 发布项目时找不到进程

问题描述

  1. jenkins 在发布完项目之后 并不能找到进程

导致原因

  1. jenkins 在执行完任务之后 默认会杀掉所有衍生的进程

解决方案

     方案一   禁用杀掉衍生进程功能,启动jenkins时添加启动参数 -Dhudson.util.ProcessTree.disable=true

     方案二   添加变量标识 传统模式下添加 export BUILD_ID=dontKillMe;pipeline模式下添加 export JENKINS_NODE_COOKIE=dontKillMe myProcess

官方说明地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值