Jenkins 2.150.3 安装使用 + Maven项目构建示例
本篇介绍: Ubuntu 16 下 Jenkins 的安装及使用, 以及一个 Java Maven项目的构建图文示例
环境要求
- 硬件要求: 256M 内存/ 1G 硬盘 以上 (Docker 推荐 10G)
- JDK: Java 8
Jenkins 安装
当前最新的LTS(长期支持版本)版本为: 2.150.3
Debian/Ubuntu
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
安装这个软件包将会:
- 将Jenkins设置为启动时启动的守护进程。查看
/etc/init.d/jenkins
获取更多细节 (启动/停止/重启等) - 创建一个
'jenkins'
用户来运行此服务 - 直接将控制台日志输出到文件
/var/log/jenkins/jenkins.log
。如果您正在解决 Jenkins 问题,请检查此文件 /etc/default/jenkins
为启动填充配置参数,例如 JENKINS_HOME- 将Jenkins设置为在端口
8080
上进行监听。使用浏览器访问此端口以开始配置
注意事项:
- 如果
/etc/init.d/jenkins
无法启动, 先看终端报什么错, jdk低了会有提示的 - 如果
8080
端口被占用, 那么可以在/etc/default/jenkins
里把端口改了HTTP_PORT=8081
- 有日志时可以查看
/var/log/jenkins/jenkins.log
文件
安装向导
浏览器输入: http://ip:8080
进行初始设置, 参考这里
解锁 Jenkins
第一次访问时, 需要先解锁, 密码文件已经展示出来, 把内容粘贴出来即可
密码文件: /var/lib/jenkins/secrets/initialAdminPassword
定义插件
有一个默认推荐的, 还有一个自定义的; 可以直接选第一个, 然后等待插件的下载安装
创建管理员账户
填写: 账号/密码/昵称/邮件; 这个是管理账号, 需要记住哦
安装Maven插件
[系统管理] - [插件管理] - [Available]
查看可用的插件, 右上角输入 maven integration
进行过滤
找到 [Maven Integration] 插件, 勾上然后进行安装, 可以选择 [安装后重启]
配置JDK和Maven
[系统管理] - [全局工具配置]
可以选择在线 [自动安装], 由于我是手动安装的, 所以直接设置 JAVA_HOME
和 MAVEN_HOME
即可
JDK配置:
Maven配置:
Maven构建示例
一切就绪后, 我们就可以开始配置第一个构建的job了
1.点击左侧的 [New 任务] 或 [create new jobs]
2.设置项目名称/选择项目类别: 前面两个都可以选择, 不过针对maven的更精简
3.设置描述 (如果需要丢弃旧的构建, 这可以配置最大天数和最大构建数量)
4.配置SVN 可以在svn上单独给jenkins创建一个全局的账号和密码, 以便于构建的时候通用
5.Maven构建 由于前面选的Maven风格, 所以这里配置就会简单一些
如果选的自由风格的maven配置: [Add build step] - [调用顶层Maven目标] 然后就可以选择对应maven版本了
6.Build后面还可以加一个Shell脚本: [Add build step] - [执行Shell] 用于本地/远程部署之类的
- 本地部署: 一般直接把maven构建好的 war 包解压到tomcat下的webapps目录, 然后重启tomcat
- 远程部署: 先scp把 war 包拷贝到远程服务器上, 然后再用
ssh -tt
执行远程脚本; 建议使用公钥登陆, 这样scp和ssh就不用输入密码了
脚本内支持的环境变量在 Command 输入框下面有一行链接可以查看: See the list of available environment variables
最后记得保存, 然后开始构建吧, 有实时的日志可以查看, 非常方便
其他
Jenkins的安装目录($JENKINS_HOME
)可以在 /etc/default/jenkins
配置文件中找到
每个 maven job 构建的 war 包是在 $WORKSPACE/$JOB_NAME/target
目录下
如果构建失败, 具体信息就得看日志的内容了
参考:
blog comments powered by Disqus