修改tomcat/bin/catalina.sh文件,在文件正文开始处增加下面一条,设置jenkins家目录为/home/Jenkins。
开始运行后,jenkins所有的文件和数据都会保存到这个目录下。
exportCATALINA_OPTS="-DJENKINS_HOME=/home/jenkins/"
Jenkins在第一次启动时,会将一个验证码在日志中打印出来,初始化的第一步需要输入这个验证码
输入验证码后继续,
如对将要使用的插件还不是很明确,建议选择“install suggedsted plugins”,基本上一些常用的插件都会被安装。
默认插件安装完成后,设置一个初始的管理员帐户,这里建议一定要给一个可用的邮件地址;当然也可以在完成初始化后再行修改。
至此jenkins初始化完成。
增加用户
系统管理à管理用户à新建用户
按提示输入所需信息,邮件一定要真实可用。
给用户分配权限
系统管理àConfigure Global Security
授权策略选择“项目矩阵授权策略”,参考下图:
需要特别注意的是,一旦开启敌阵授权,必须要有一个管理员帐户的存在,否则将失去对jenkins的控制权限。恢复的话比较麻烦。
Jenkins本身对矩阵权限做以下分类:
Overall (针对jenkins程序本身的权限,一般只赋予管理员帐户) |
Administer ConfigureUpdateCenter RunScripts UploadPlugins |
管理权限 配置中心权限 运行脚本 更新插件 |
Credentials (对jenkins下使用的凭证配置) |
Create Delete ManageDomains Update View |
创建 删除 管理作用域 更新 视图 |
Agent |
Build Configure Connect Create Delete Disconnect Provision |
|
Run |
Delete Replay Update |
|
Job (用户对于某个job的权限) |
Build Configure Connect Create Delete Cancel Discover Move Workspace |
编译 配置 连接 创建 删除 取消正在进行的任务 发现??(这个待确定) 移动 工作空间的操作 |
View (对view设置的权限) |
Configure Create Delete Read |
配置 创建 删除 读取 |
视图功能或者叫标签功能依赖于插件Build Monitor View,在使用前请先安装该插件。
插件安装完成后,首页上会出现标签页,点击最后的“+”号,增加一个新的视图:
给视图确认一个名称,视图类型建议使用list View;
选择你要添加到这个视图中的Job;
选择要在视图显示的信息,可以自定义。如无特殊需求,使用默认即可。点“保存”视图创建完毕。
刚才默认安装的插件是无法满足实际应用中的需求的,现根据实际需要,再另外安装下列插件:
Ansible plugin
Build Monitor View
Environment Injector Plugin
M2 Repository Cleanup Plugin
Maven Info Plugin
Maven Integration plugin
Maven Invoker plugin
Maven Repository Scheduled Cleanup Plugin
Maven Repository Server Plugin
Multijob plugin
Parameterized Trigger plugin
Publish Over SSH
Run Condition Plugin
View Job Filters
钉钉通知
进入系统管理界面,选择管理插件子界面—>
四个选项卡:可更新,可选插件,已安装,高级
进入可选插件,选择上面列表中的插件,然后直接安装;
全部安装完成后,重启tomcat完成自定义插件的安装。
给新建的任务指定一个名称,尽量使用英文名称;任务类型选构建一个maven项目。点OK 进入下一步,这是这个项目的配置界面,基本上有这几个步骤,构建前操作,代码管理,构建操作,构建后的操作。这些步骤由我们刚才安装的插件配合完成。下面以一个项目为例,大致描述一下整个过程。
需要配置的条目:
1)项目名称
刚才已经指定,这块没有特殊要求,一定要有标识性。
2)描述
项目的基本信息,可有可无;建议有,在项目比较多的情况下,便于区分。
3)Maven Info Plugin Configuration
mvn的一些基本配置,这里有两处需要提一下:
A参数化构建过程,在这里可以增加一些参数,在后面的构建过程中引用;jenkins支持多种类型的参数,具体的可参数下载列表列出的类型。
B丢弃旧的构建,以保证jenkins目录不会无限增大。可选择最大保留次数和最大保留天数,满足任一条件,旧的构建文件即被删除。
4)源码管理
支持gitsvn等,但需要各自的插件支持;当然jenkins也可以仅做为构建触发的界面,不接入源码,构建过程由外调程序脚本完成。
这里选择git做为版本管理工具:
输入源码的URL,验证方式,需要编译的分支;
如Credentials为空的话,点add增加一个权限配置:
类型选用户名密码,然后输入git的用户名、密码,保存即可。 返回到git界面选择刚才增加的验证权限。
到这里源码部分配置完毕。
5)构建环境
这里一般默认即可,但为保证每次编译的纯净可以选择,构建前删掉原来的workspace
6)Pre Steps
如无特殊需要,可略过。
7)Build
默认根pom文件:pom.xml,一般位于源代码根目录下。
编译参数: -Dmaven.test.skip=true -Dmaven.compile.fork=true
至此,本项目的构建可以正常进行。
8)Post Steps
代码编译完,整个项目的任务并完成,一般还需要将编译后的代码发送到指定的服务器,有的还需要重新启动应用程序。在这里调用ansible-playbook将代码发送到远程服务器并重启进程;此功能需要事先安装ansible插件。
输入playbook的路径,如果playbook中已经将环境等需要的变量配置完善,playbook在jenkins中的配置就完成了。
如果需要增加参数,进入高级选项,
Add extravariable增加参数,以传递给playbook;这里传递的参数等同于
Ansible-playbook test.yml -e “key=value”;拥有最高优先级。
Ansible-playbook的编写这里不涉及。
9)构建后操作
支持的操作见下图。目前使用构建后操作涉及到两个,一个是钉钉通知,一个是扩展邮件通知。详细配置参考三、常用插件配置。
至此一个maven项目配置完毕,进入项目视图,”立即构建“触发任务。过程如有错误,根据实际提示进行修改相应配置。
这是一种多任务的项目类型,在任务下可以包含多个已经存在的子任务。用于触发一组顺序或并行进行的任务。依赖插件:Multijob plugin
在这里这种任务做为父任务存在,调用其他子任务,只需要配置构建部分即可,选择MutilJob Phase
点击add jobs增加多个子任务,任务执行类型有两种选择:Running Phasejobs in parallel(并行)、
Running Phase jobs in sequentially(串行);根据子任务的前后关系实际选择。
Continuation condition to next phase 什么条件下进行下一个任务,一般为 succefful。
目前的应用,就涉及到这些内容。