#jenkins安装和简单部署java
##jenkins历史linux
jenkins是一款很是好用的团队CI(Continuous Integration)工具。它可使你的构建,集成,发布,开发流程自动化。减轻各个环节所耗时间。同时能够自行研发插件并用于本身工做环境中。nginx
##简单描述一下jenkins构建到发部程序的过程:git
首先##开发人员(提交代码至代码仓库) —> “jenkins(执行构建任务) —> 先去代码仓库拉取相应的代码至workspace —> 根据所定义的编译流程(如pom.xml) —> 在编译过程当中能够test(测试)程序” —> 发部至工做环境直至服务可用 在jenkins工做的过程,每一步都有提示,而且能够发邮件等信息来提示构建的人员。web
###安装jenkinsshell
由于jenkins由java语言所写,因此下载的jenkins只是一个war包。官网地址:https://jenkins.io/ 。 本次安装是由tomcat程序安装apache
- jenkins-2.60.3-1.1.noarch.rpm 直接下载rpm包,而且提供jdk和tomcat
##安装jenkins rpm包 ]# rpm -ivh jenkins-2.60.3-1.1.noarch.rpm ]# rpm -ql jenkins /etc/init.d/jenkins /etc/logrotate.d/jenkins /etc/sysconfig/jenkins /usr/lib/jenkins /usr/lib/jenkins/jenkins.war ###就是这个war包,只须要此包放置# /usr/sbin/rcjenkins /var/cache/jenkins /var/lib/jenkins /var/log/jenkins ##部署tomcat容器和jdk ]# tar xf apache-tomcat-7.0.81.tar.gz ]# mv apache-tomcat-7.0.81 jenkins ]# tar xf jdk-8u144-linux-x64.tar.gz ]# mv jdk1.8.0_144 jdk ##在tomcat容器里添加jdk的环境变量 ]# vim tomcat/bin/startup.sh export JAVA_HOME=/server/jdk export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH ##将以前安装的jenkins所得的war给复制到webapp目录下,而后重启便可(这里也能够自行搭配nginx作反向代理) ]# mv /usr/lib/jenkins/jenkins.war /server/jenkins/webapps/ ]# bash /server/jenkins/bin/startup.sh
<br /><br />vim
- 安装完成后,变可打开浏览器访问192.168.1.156:8080/jenkins
前面简单的安装过程,这里就不详述了。中间安装的插件可自行选择。也可默认安装。浏览器
<br />tomcat
-
下图中红色方框内是须要更改的,黄色方框是须要修改的。
-
黄色方框解决方法:在server.xml加入URIEncoding="UTF-8"
-
可增长邮件提醒功能:系统设置->email notification 只须要填写 smtp.163.com 注意的地方有两点: 第一:首先你的打开你接收邮箱的smtp功能 第二:在配置填写密码时,不是邮箱登录密码,而是上面那一步填写的密码(也就是开启邮件)
<br /> <br />
- 配置全局工具配置
这里面的选项都是jenkins所要用到的基础的工具
推荐安装插件: - Deploy to container Plugin //这个是部署tomcat的插件 - Multiple SCMs plugin //能够选择添加多个Git库的插件
jdk,maven,git等插件我我的都是手动下载安装,也可在jenkins里选择安装
<br /> <br />
- 配置用户安全访问策略:
Configure Global Security -> 启用安全 -> 项目矩阵受权策略 (这里得提醒一下,在配置用户时须要先建立用户,而且先apply) 注意: - 记得给admin全部权限,这个不是默认就是admin拥有全部权限 - 在构建的项目里也须要添加用户权限,里面也是须要给admin权限,切忌,要否则admin就看不到项目了 - 在“全局安全配置”中打开安全矩阵,后就能够在项目里添加各类安全机制。
简单介绍一个和安全配置小项的功能,其实从字面意思上就能够看的懂 - 最大的权限是Overall的Administer,拥有该权限能够干任何事情。 - 最基本的权限是Overall的Read,用户必须赋予阅读的权限,否则什么都看不到。 - 其余的每一个权限均可根据字面意思来
推荐安装插件: - Audit Trail plugin //将用户的更改记录在一特殊的日志文件中 - JobConfigHistory plugin //容许你保存jenkins系统配置和job配置文件之前版本的副本 <br /><br />
在以上基本的配置完成后,接下来就能够添加实例了:
##添加实例:
###General :常规设置
- 正常都是添加一个自由风格的软件项目,可是我比较推荐使用Pipeline,可是得写jenkinsfile文件来串联起来(流水线)。"流水线"很是适合于一些比较复杂的实例。也是一个自动化方能力方面的提高。建议使用。
<br /><br /> <br />
- 启用项目安全:就和上面的安全同样,控制用户权限,必须控制
- 丢弃旧的构建:提示意思已经很明确了
- 参数化构建:顾名思义,就是在点击"构建"时,能够根据所提供的参数去"构建"出不一样的代码。很好用
####接下来简单描述一下"参数化构建"两个经常使用的方法 - Choice Parameter:选择参数来进行构建 - Name:名称,也就是变量 - Choices:可选择的,选择其中一个,就是给Name名称变量赋值。 - Description:描述 #####示例: 一:变量选择
直接输出变量,便可测试。以后"保存"->"Build with Parameters"->"选择值"->"开始构建"
选择no,在查看"Console Output"
能够很清晰的看到,输出的值就是我选择的值。
<br />
二:字符选择
添加默认值,也就是在参数化构建时,若是您不修改参数,就是使用这个默认值就赋值变量。
我这里将默认值修改为"Hello World!!!"
这里也是成功的。OK,参数化构建就说到这里,其余更高级使用方法,去官网查吧! <br /><br />
###源码管理
以git为例
- repository url:填写仓库的地址
- Credentials:这里须要配置拉取git源码的用户名和密码
- Branches to build:这里是提供的拉取代码版本号,可使用"变量","正则"等,可点击绿色方框,查看指引。 <br /><br />
这里其实还有一个编译工具如,maven,gradle等的配置项须要填写,这里也不说明了。 <br /><br />
###构建触发器
- 触发远程构建:自动化构建,拼接URL后写入代码中能够实如今脚本或者工具执行构建
- Build after other projects are built: 构建与其余项目构建后,用于上下游项目有关联的时候
- Build periodically:定时执行构建
- GitHub hook trigger for GITScm polling:这个是git钩子的功能,若是有钩子,则触发相应的规则
- Poll SCM: 设置定时检查代码仓库是否有变动,有变动则构建
- minute,0-59 //这里须要注意的,在分钟这里须要加"H"这个标志,若是不加会报错。就如上图的例子
- hour,0-23
- day,0-31
- month,1-12
- week,0-7
<br /><br /> ###构建环境
- Delete workspace before build starts : 在构建以前清空工做空间
- Abort the build if it's stuck : 若是构建出现问题则终止构建
- Add timestamps to the Console Output:给控制台输出增长时间戳
- Use secret text(s) or file(s) : 使用加密文件或者文本
###构建 ###构建后
构建就是编译的过程,只要有代码,编译的配置文件(pom.xml)等文件,就会自动构建。 构建后,能够经过shell脚本或"deploy war/ear to a container"可自动部署 构建完成后,还能够邮件通知用户等等功能
<br />
- WAR/EAR files:输入war包的相对路径,如个人war包在新建目录的target下
- context path:输入用来访问tomcat的名称,localhost:8080
- add container:增长容器,通常选tomcat 7X就能够。这里的username与password须要到tomcat的conf文件夹中的tomcat--users.xml修改。
- tomcat URL: 就是你但愿把war包部署到的tomcat所在IP地址,最后面不须要再加斜杠/。tomcat-users.xml中的用户名及密码默认是注释掉的,因此须要删除注释,也能够直接复制如下代码到</tomcat-users>以前。若是只是删除注释的话好像部署不会成功,还须要增长manager开头的三个role才能够。
<br /> - Recipients : 收件人邮件地址 <br /><br />
最后"保存"->"构建",查看"Console Output"日志是否正常。一个实例已经配置好,并正常运行