环境:Linux+Git+Jenkins+Maven+Jdk
部署环境可参考 http://www.jianshu.com/p/0e67b4545d08
以下操作是登录Jenkins后的操作,是以操作环境部署已OK为前提的
1、设置权限(默认无权限控制)
页面:系统管理--Configure Global Security:授权策略 (选“ 项目矩阵授权策略 ”)


安全矩阵和项目矩阵授权策略的配置是一模一样的,唯一的区别是项目矩阵授权策略支持在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的配置文件,用VI修改,将useSecurity的值改为false
(可通过 find / -name .jenkins 查找路径)

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

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


2、安装插件
Jenkins可以理解为框架,可以整合任何你想整合的内容,实现公司的整个持续集成体系!
如没有插件的话也手动写脚本 (Shell / Python)
页面:系统管理--管理插件--可选插件(搜索即可)

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


3、配置JDK、Git、Maven信息
页面:系统管理--Global Tool Configuration

-
配置JDK,输入变量和安装目录
jdk.png
-
配置git,名称自取,可以和版本号一致,Path to executable为git可执行的路径
文本框右侧的“?”,点击后可查看说明,相当于是帮助功能
git.png
-
配置maven,路径可通过** mvn -v **查看
maven.png
若路径设置不对,系统会报错

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

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


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

5、新建Job
页面:新建

填写项目名称

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

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

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

我们的项目代码用git做版本管理的,为了jenkins服务能够访问到我们项目的代码,需要导入git的私钥
1)生成SSH key,会生产一个私钥和公钥(id_rsa.pub是公钥、id_rsa是私钥)
命令:ssh-keygen
2)将私钥id_rsa添加到jenkins里
也可以从菜单** Credentials-->System-->Global credentials (unrestricted)-->Add Credentials **进入页面后添加

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

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

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

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


上一期作业 只需要新建一个自由风格的项目就可以了
操作其实差不多,在页签-源码管理中 添加远程库,配置用户名和密码信息后,保存,回到列表页点立即构建

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


通过命令查看,可以从图中看到静态远程库的内容已clone成功。
cd ~/.jenkins/jobs/Maven/workspace
ls -a

网友评论