jenkins构建第一个java工程

使用docker容器安装Jenkins跟直接在宿主机上安装,在构建工程时会有很多差异,会遇到更多的坑。本人使用centos7+jenkins/jenkins:rhel-ubi8-jdk11。Jenkins构建方式为git库+maven插件(docker-maven-plugin),构建流程为:

1、jenkins容器从git仓库中拉取代码

2、Jenkins容器使用maven工具进行进行打包,并利用docker-maven-plugin构建项目的docker镜像

3、镜像构建完成后,push至docker-registry仓库

4、容器利用ssh连接到目标机器,执行pull镜像-->杀死原有实例-->最后执行docker run命令启动实例。

遇到问题:

1、在maven打包完项目,执行docker-maven-plugin进行构建镜像时报错:

Failed to execute goal com.spotify:docker-maven-plugin:1.0.0:build (default-cli) on project todo-demo: Exception caught: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: java.io.IOException: No such file or directory -> [Help 1]

出现的原因是Jenkins容器中没有docker,所以docker-maven-plugin也无法执行docker任务。如果jenkins是直接安装在宿主机中则没有这个问题,可以直接调用宿主机的docker完成docker-maven-plugin的构建。

解决方法为将宿主机中的docker映射到容器中,并且将容器的用户添加进宿主机的docker用户组中(使其有权限调用宿主机的docker):

docker run -p 8090:8080 -p 50000:50000 --name jenkins-docker --add-host gitlab.xxx.com:106.xxx.xxx.xxx --add-host docker-registry.xxx.com:106.xxx.xxx.xxx \
-v /etc/localtime:/etc/localtime:ro -e TZ="Asia/Shanghai"  -v /apps/docker/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock     -v /etc/docker:/etc/docker     -v /usr/bin/docker:/usr/bin/docker --group-add=991 \
 jenkins/jenkins:rhel-ubi8-jdk11

其中:
-v /var/run/docker.sock:/var/run/docker.sock     -v /etc/docker:/etc/docker     -v /usr/bin/docker:/usr/bin/docker就是将宿主机的docker映射进容器

--group-add=991的目的是将容器的用户添加进宿主机的docker用户组,991是通过命令cat /etc/group|grep docker查询而来

2、在成功打包、push镜像后报错:

ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [126]]

分析原因为,容器ssh到目的机器后,jenkins中配置用户的权限不够,添加相关权限就解决问题了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于使用Jenkins进行Java项目的持续构建和部署,以下是一些基本的步骤和配置: 1. 安装Jenkins:首先,您需要安装Jenkins并确保其成功运行。可以从Jenkins官方网站下载安装程序并按照指示进行安装。 2. 配置Java环境:在Jenkins服务器上,确保已经正确安装和配置了Java开发环境。您可以通过在终端或命令提示符中运行`java -version`来验证Java环境是否正确设置。 3. 创建一个新的Jenkins Job:登录到Jenkins管理界面,点击"New Item"创建一个新的任务。选择"Freestyle project"作为项目类型。 4. 配置源代码管理:在"配置"页面的"源代码管理"部分,选择您的代码托管平台(如Git或SVN),并提供您的项目的代码仓库URL和凭据信息。 5. 配置构建触发器:在"配置"页面的"构建触发器"部分,选择适当的触发器。例如,可以选择定期构建,或者在代码提交时触发构建。 6. 配置构建步骤:在"配置"页面的"构建"部分,添加构建步骤以构建和部署您的Spring Boot项目。以下是一些常见的步骤: - 使用Maven或Gradle构建项目:使用Maven或Gradle构建您的项目。您可以在"构建"部分的"添加构建步骤"中选择适当的构建工具,并提供构建命令或任务。 - 打包可执行JAR文件:使用Maven或Gradle将项目打包为可执行的JAR文件。 - 部署项目:使用适当的部署工具(例如Docker、Tomcat等)将打包的JAR文件部署到目标环境。 7. 保存并触发构建:保存Jenkins任务配置,并手动触发第一次构建以验证配置是否正确。您可以单击任务页面的"立即构建"按钮来手动触发构建。 这些是基本的步骤和配置,您可以根据您的项目需求进行相应的调整和扩展。希望对您有所帮助!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值