docker部署jenkins遇到常见问题

最近在用docker搭建jenkins,来完成项目部署,过程中碰到的问题记录如下:

回顾搭建步骤:

1、从git中拉去代码到jenkins中

2、将拉去的代码使用maven 构建

3、将maven生成的jar包推送到目标服务器

4、使用shell脚本在目标服务器上运行

1问题:

配置目标服务器的环境变量时

系统配置中Publish over SSH模块下

使用指令:ssh-keygen -t rsa 填入了key(私钥)后报如下错误解决

jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@79690c0a]

docker部署jenkins遇到常见问题_第1张图片

解决:思路:检查密钥开头

私钥生成的版本过高,jenkins使用的是2.3.44 

需要使用ssh-keygen -m PEM -t rsa -b 4096来生成密钥;

2问题:

配置目标服务器的环境变量时

系统配置中Publish over SSH模块下 填入了key后报如下错误解决

jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to connect session for config [test]. Message [Auth fail]]

docker部署jenkins遇到常见问题_第2张图片

解决:

1、我是docker中部署的jenkins,需要在容器中生成对应的 密钥组

将私钥放到对应key中

并且公钥需要追加到Hostname(目标服务器)的 /root/.ssh目录的authorized_keys文件后面,没有该文件就新增复制进去;

问题3:

将maven生成的jar包推送到目标服务器

构建后操作 使用Send build artifacts over SSH模式

构建成功了 但是jar包推送到目标服务器失败:SSH: Transferred 0 files

docker部署jenkins遇到常见问题_第3张图片

解决:从jenkin中拉取jar的路径不对导致; 执行ssh默认的根地址是/var/jenkins_home/workspace

docker部署jenkins遇到常见问题_第4张图片

拉取jenkins中jar的地址是:/var/jenkins_home/workspace + (Source files)的地址
我的就是:/var/jenkins_home/workspace/ruoyi-admin/target/ruoyi-admin.jar

拉取的地址不存在或者没有文件 日志就会记录推送 0 files

问题4:

拉取git时报错:

hudson.plugins.git.GitException: Could not init /var/jenkins_home/workspace/test
Caused by: java.io.IOException: error=13, Permission deniedy

原因:

全局git路径配置的问题:

docker部署jenkins遇到常见问题_第5张图片

  Path to Git executable这个地址 由于配置的git地址各不相同可以进入容器中查看自己的路径

#进入容器
docker exec -it 容器id /bin/bash
#查看git配置
whereis git

问题5:

拉取git时报错:

hudson.plugins.git.GitException: Failed to fetch from [email protected]:pengcc00/ruoyi.git
returned status code 128:

原因:

128没有git访问权限,密钥配置的不对,因为时docker中部署,需要在容器中生成密钥来配置,一开始在服务器中生成的导致不生效

你可能感兴趣的:(jenkins,docker,运维)