安装
建议使用docker,简单方便。
配置&插件
安装 maven
在 系统管理》全局工具配置页面:
安装SSH
在 系统管理》插件管理页面下载 Publish Over SSH:
配置JDK
在全局工具配置页面,新增JDK。我是使用Docker安装的,可以使用默认的JDK。在Docker容器里使用echo $JAVA_HOME 可以得出路径,将路径填入保存即可。
(需要注意jenkins版本问题,有些版本的是11版本的jdk,项目jdk版本与jenkinsjdk版本需要保持高度统一。否则会导致构建不成功)
(有些jenkins版本查使用echo $JAVA_HOME找不到jdk路径,需要先使用whereis寻找路径)
配置maven
全局工具配置页面,新增maven。
(maven可以使用apache默认下载,之后需要设置maven settings文件路径,可以使用默认的路径,建议配置阿里云镜像)
添加【配置】信息
在系统管理》配置界面,添加 SSH remote hosts、Publish over SSH 信息。
(有时候项目配置好之后构建不成功,可以延长超时时间,这个与服务器本身有关系)
SSH remote hosts
SSH remote hosts 用于配置目标服务器信息:
Publish over SSH
Publish over SSH 用于将文件上传到目标服务器上:
实例开始
新建任务
- 推荐任务名称使用英文名称,因为会在对应的 workspace 目录下生成以该任务名称命名的文件夹。
配置源码
构建
构建后上传目标服务器
再来个配置PHP项目的例子:
立即构建
常见问题
Q: ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [127]],项目编译没问题,并且成功上传目标服务器,但是程序并没有执行!
A: 原因是shell脚本中没有载入环境变量,如下图所示
Q: 如何安装 jdk1.8?
A: 最新的jenkins安装的都是 jdk 11,如果想要安装多版本的话只需要在全局工具配置中安装jdk并选择自动安装。(注意,这里有坑!勾选自动安装后是何时安装的呢?答案:jdk的安装是在项目构建的时候根据项目指定的jdk版本进行安装,也就是前面指定的jdk版本的自动安装只是占个位,在真正开始构建项目时才开始下载安装。)
Q:报错为ERROR: Maven JVM terminated unexpectedly with exit code 137
A: 进入WEB端jenkins,点击系统管理,找到Maven项目配置,修改全局MAVEN_OPTS
即可-Xms256m -Xmx512m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=64m
,修改完毕不要忘记重启jenkins!!!
总结
jenkins 功能还是非常多的,坑也比较多,有更多的惊喜等待我们去探索。