持续集成系列-Jenkins+Git+Maven落地实战

环境:Linux+Git+Jenkins+Maven+Jdk
部署环境可参考 http://www.jianshu.com/p/0e67b4545d08

以下操作是登录Jenkins后的操作,是以操作环境部署已OK为前提的

1、设置权限(默认无权限控制)

页面:系统管理–Configure Global Security:授权策略 (选“ 项目矩阵授权策略 ”)

《持续集成系列-Jenkins+Git+Maven落地实战》 权限设置.png
《持续集成系列-Jenkins+Git+Maven落地实战》 权限明细.png

安全矩阵和项目矩阵授权策略的配置是一模一样的,唯一的区别是项目矩阵授权策略支持在Job的配置页面再次配置授权策略。
各种权限如下(在配置页面将鼠标放到该权限上即可查看帮助):

  • 最大的权限是Overall的Administer,拥有该权限可以做任何事情。
  • 最基本的权限是Overall的Read,用户必须赋予阅读的权限,不然什么都看不到
    (ps:如果有个用户被赋予了Overall的Read,并没有被赋予Job的Read权限,那么该用户就无法访问job。原因:没有权限)

每个用户后都有1-2个图标,第一个是反选功能(删除当前已选择的权限,选择其他所有权限),第二个是删除功能(删除该用户)

Overall是全局权限,Agent是集群权限,job,run,view,scm是业务权限

切记,重要的事情说三遍

权限配好后一定要先点Apply(应用),再点Save(保存)
权限配好后一定要先点Apply(应用),再点Save(保存)
权限配好后一定要先点Apply(应用),再点Save(保存)

如果直接点了保存,那么恭喜你,掉入深坑了,发现登录时提示没有权限

《持续集成系列-Jenkins+Git+Maven落地实战》 保存时提示错误.png

遇到这情况如何处理?
找到Jenkins的配置文件,用VI修改,将useSecurity的值改为false
(可通过 find / -name .jenkins 查找路径)

《持续集成系列-Jenkins+Git+Maven落地实战》 权限修改.png

首先添加一个admin账号作为管理员,先”应用“,注意这个时候千万别点击“保存”。

《持续集成系列-Jenkins+Git+Maven落地实战》 添加管理员用户及权限.png

由于admin用户还没有注册,所以这里添加到权限策略内会显示红色X,等后面将这个admin用户注册后就会变成正常的绿色。

《持续集成系列-Jenkins+Git+Maven落地实战》 注册admin.png
《持续集成系列-Jenkins+Git+Maven落地实战》 配置用户权限.png

2、安装插件

Jenkins可以理解为框架,可以整合任何你想整合的内容,实现公司的整个持续集成体系!
如没有插件的话也手动写脚本 (Shell / Python)

页面:系统管理–管理插件–可选插件(搜索即可)

《持续集成系列-Jenkins+Git+Maven落地实战》 系统管理–管理插件.png

以下插件先在已安装页签搜索,如没有则到可选插件页签搜索,点直接安装即可:
Git plugin、GitHub plugin、maven Integration plugin

《持续集成系列-Jenkins+Git+Maven落地实战》 Maven Integration plugin.png
《持续集成系列-Jenkins+Git+Maven落地实战》 插件安装中.png

3、配置JDK、Git、Maven信息

页面:系统管理–Global Tool Configuration

《持续集成系列-Jenkins+Git+Maven落地实战》 系统管理–Global Tool Configuration.png

  • 配置JDK,输入变量和安装目录

    《持续集成系列-Jenkins+Git+Maven落地实战》 jdk.png

  • 配置git,名称自取,可以和版本号一致,Path to executable为git可执行的路径
    文本框右侧的“?”,点击后可查看说明,相当于是帮助功能

    《持续集成系列-Jenkins+Git+Maven落地实战》 git.png

  • 配置maven,路径可通过** mvn -v **查看

    《持续集成系列-Jenkins+Git+Maven落地实战》 maven.png

若路径设置不对,系统会报错

《持续集成系列-Jenkins+Git+Maven落地实战》 路径不对系统报错.png

4、添加SSH服务器

SSH:专为远程登录会话和其他网络服务提供安全性的协议
页面:系统管理–系统设置

《持续集成系列-Jenkins+Git+Maven落地实战》 系统管理–系统设置.png

增加SSH Server,填写服务器名称,IP地址,登录账号,密码(在“高级”选项里),信息填好后保存。

《持续集成系列-Jenkins+Git+Maven落地实战》 SSH Server配置.png
《持续集成系列-Jenkins+Git+Maven落地实战》 配置密码png

在Git plugin下的添加本地Git的user.name和user.email的信息

《持续集成系列-Jenkins+Git+Maven落地实战》 配置Git用户信息.png

5、新建Job

页面:新建

《持续集成系列-Jenkins+Git+Maven落地实战》 新建.png

填写项目名称

《持续集成系列-Jenkins+Git+Maven落地实战》 创建Maven Job.png

若新建Job时没有 Maven项目 选项,说明插件未安装

《持续集成系列-Jenkins+Git+Maven落地实战》 构建项目.png

进入项目后配置各项信息
1)页签–General
勾选“启用项目安全”,可以添加团队成员账号,分配权限:build,display等,不建议配删除权限。

《持续集成系列-Jenkins+Git+Maven落地实战》 配置项目成员权限.png

2)页签–源码管理
输入需要clone的git库地址(在服务器上clone需要账号密码的话,这里也必须加上,在高级选项卡里设置)

《持续集成系列-Jenkins+Git+Maven落地实战》 配置版本库信息.png

我们的项目代码用git做版本管理的,为了jenkins服务能够访问到我们项目的代码,需要导入git的私钥
1)生成SSH key,会生产一个私钥和公钥(id_rsa.pub是公钥、id_rsa是私钥)
命令:ssh-keygen
2)将私钥id_rsa添加到jenkins里

也可以从菜单** Credentials–>System–>Global credentials (unrestricted)–>Add Credentials **进入页面后添加

《持续集成系列-Jenkins+Git+Maven落地实战》 image.png

3)页签-Build
最重要的一步:build取pom文件;maven,编译,build,取pom文件,pom文件里面有编译命令(暂时没有真实的moven项目,所以先默认如下填写)。

《持续集成系列-Jenkins+Git+Maven落地实战》 **build取pom文件**.png

4)添加构建后操作步骤
选择 Send build artifacts over SSH,填写执行目录和命令。

《持续集成系列-Jenkins+Git+Maven落地实战》 Send build artifacts over SSH****.png

5)构建及结果检查(还未找到办法处理这个问题
点击“立即构建-构建计划”

《持续集成系列-Jenkins+Git+Maven落地实战》 构建及查看结果入口.png

点击Console Output(控制台输出),也就是构建日志

《持续集成系列-Jenkins+Git+Maven落地实战》 输出
《持续集成系列-Jenkins+Git+Maven落地实战》 报错.png

上一期作业 只需要新建一个自由风格的项目就可以了

操作其实差不多,在页签-源码管理中 添加远程库,配置用户名和密码信息后,保存,回到列表页点立即构建

《持续集成系列-Jenkins+Git+Maven落地实战》 配置信息.png

构建完成后点“Build History”,可以输出信息

《持续集成系列-Jenkins+Git+Maven落地实战》 image.png
《持续集成系列-Jenkins+Git+Maven落地实战》 查看输出信息.png

通过命令查看,可以从图中看到静态远程库的内容已clone成功。

cd ~/.jenkins/jobs/Maven/workspace
ls -a

《持续集成系列-Jenkins+Git+Maven落地实战》 查看clone内容.png

点赞