Jenkins是什么?

Jenkins作为一个开源项目,是一个基于java的构建部署工具,经过配置拉取仓库代码、maven以及一些ssh设置就可以帮助程序员更快更高效地进行项目地构建和部署,无需一个个地去build,极大地提高了开发效率。

遇到的问题与解决方法

网络不稳定

这个问题也可能出现在idea创建Github用户的时候,由于校园网有时候不稳定,可能会出现server unreachable的报错导致连不上github.com。在Jenkins构建我们的项目第一步的时候,也会出现如下的报错:

出现这种情况可能是网络不稳定,还有可能你的端口号没开放。当然还得确保你的服务器上有git工具,如果没有的话,记得yum install git安装一下。

Maven构建问题

这个问题是我在图方便的时候出现的问题,我自己本地有一个maven工具,所以我就直接将它上传到我的服务器上了,那么不出意外地出了很多意外。首先是mvn文件的执行权限问题,问题报错如下所示:

这个问题的出现,我估计是由于我从本地拷贝过来的时候,这个mvn文件没有给上执行权限,在maven/bin目录下,所以我使用命令给它赋予了执行权限,命令大致是chmod a+x maven/bin/mvn,赋予权限之后这个问题就解决了。

但是我在maven构建的过程中还出现了一些坑,因为jenkins拉取代码的是外面多包了一层同名的文件夹(我的是这样的,大伙不一定),由于我在配置prohject的时候,没有加上一层对应同名文件夹导致找不到pom文件,构建终止,大致意思就是:项目中的pom文件在aaa/aaa/pom.xml位置,但是在配置的时候写pom.xml,那么maven在构建的时候就会去aaa/pom.xml地方读取,很闲没有,所以在配置的时候要写成aaa/pom.xml,这样就能找到了。报错信息如下显示:

显然这边只读取了一层加pom.xml,也就是我们所说的aaa/pom.xml,自然不行了。

其他一些细节问题导致的构建失败

第一部分的问题中出现的拉取代码失败,除了那些原因以及解决办法之外,还可能是因为我们在上次构建过程中成功拉取到了代码,只不过build出错了,这样workspace中就有了我们的项目代码,我们再次构建的时候可能会因为同名文件的存在出现冲突导致拉取失败,所以解决办法是把上次失败的项目文件删掉或者重命名。

另外我们在jenkins中进行项目配置的时候会写一个shell脚本来让jenkins构建部署成功之后自启动我们的项目,有时候会出现构建部署成功但是没有自启动的问题,这时候我们需要关注java -jar 的那一行的目标jar文件地址是否正确,错误的地址不会在构建的过程中报错,但是不会自启动。shell脚本启动jar包的命令位置如下所示:

总结

虽然在使用jenkins对项目进行构建部署的过程并不是很顺利,但是经过排查与纠错最终成功对项目进行了构建部署与自启动,以上是我在使用jenkins的过程中遇到的问题与解决方案,文中出现的所有问题都已经解决。总的来说,jenkins这样一个基于java的开源集成项目,还是非常好用的,针对项目的构建部署启动集成性较高。总结来说,就是 配置输入仓库代码地址->输入识别信息->配置maven地址与pom文件->配置ssh远程服务器地址与编写shell脚本->一键构建->喝茶等待构建部署自启动完毕。如果大家对于本文有什么问题,欢迎批评指正!!!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐