一、安装Jenkins
最近发现yum安装老是连不上,可以使用第一种或者第二种方法进行安装,安装包地址为: https://pan.baidu.com/s/1sUgCSwDXOiE0jP-4M_eX1w,密码:7a1i
1、war包启动
可以自己装一个tomcat或其他服务器,并且下载Jenkins.war的包,直接安装启动普通项目的方式配置。
2、rpm包安装
下载jenkins的安装包Jenkins各版本的rpm安装包,并且导入Centos中:
rpm -ivh jenkins-2.129-1.1.noarch.rpm // 可能需要修改一下版本号
安装比较简单,下面是一些简单的管理命令:
sudo service jenkins start | stop | restart | status
3、yum安装
// 安装最新版本的Jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key sudo yum install jenkins
下面是Jenkins的启动和关闭等命令:
sudo service jenkins start | stop | restart
sudo chkconfig jenkins on
安装完成后:
/usr/lib/jenkins/jenkens.war // Jenkins项目
/etc/sysconfig/jenkins 为rpm和yum安装的jenkins的配置文件,里面有启动端口等信息,默认是8080,
二、Jenkins启动和配置
1、jenkins的启动和基础配置
安装上面的安装和启动方式启动后,在浏览器中输入: ip:port即可,如http://192.168.0.107:9999
在服务器上查看当前的初始化密码:
[root@localhost jenkins]# cat /var/lib/jenkins/secrets/initialAdminPassword
fab311dde9dd4e2e8a1eb84d94d4f6be
2、该Jenkins实例似乎已离线(修改后重启即可)
若启动jenkins时出现该提示,说明jenkins本身没有链接上网络,是因为默认会去链接翻墙的网址。最好是不要让其在离线模式下安装,否则很多可插拔的插件没有安装上后面可能会比较麻烦(特别是对jenkins的组件和原理不是特别熟悉的情况下很容易刨坑),所以需要修改:
1)、 修改 /var/lib/jenkins/updates/default.json(如果没有就不管,版本问题)
该配置文件中http://www.google.com,查找更换为http://www.baidu.com
2)、 修改 /var/lib/jenkins/hudson.model.UpdateCenter.xml
项目中插件下载地址默认配置Https的地址(https://updates.jenkins.io/update-center.json),修改为http即可,有可以能还是不行就修改成下面的国内镜像。再重启服务。国内的镜像地址:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
2、Jenkins Overview
在构建Jenkins之前我们需要知道Jenkins是什么东西,能帮助我们做什么。才能更好的理解需要怎么样进行配置。Jenkins使用本地配置的git client端将远程GitLab上的代码下载到Jenkins服务器(即代码仓库拉取代码,可以是GitLab、可以是svn server端),并使用maven将项目进行打包,中途可以添加各种步骤,最后利用shell脚本等方式将项目包发送到远端的tomcat的项目目录(Tomcat有多种配置方式),并停止tomcat,更换项目包(包括:清除原项目包,copy现有项目包并进行解压),启动tomcat(这里tomcat是服务器,可以使用jetty等代替)。 总体来说就是Jenkins的两大特点:
1、Continuous Intergration 持续集成 :可以将整个集成项目的看成一个生命周期,按照组合插件的方式集成
2、Continuous Delivery 持续交付:持续交付项目给测试人员(测试环境)、用户(生成环境)等
3、插件安装
一般若使用Jenkins安装在Centos下,在安装的时候基本的插件就已经安装了,但是很多时候我们使用GitLab对项目进行管理,则需要安装GitLab Hook 的插件。有上图可知道,我们需要使用git的客户端,去GitLab上拉取代码,则需要在Jenkins本机安装git,并且将git的地址告诉Jenkins
# Centos7下安装的git地址为 而windows下的则为git安装目录下的git.exe文件地址
sudo yum install git
4、系统配置
位于系统管理》全局工具配置下对jdk、maven setting、maven、ant、git(客户端)、gradle、Docker等的配置,使用yum install 方式安装Java所以不需要配置,所以需要设置Maven Setting、git 和maven:
1)、git
使用Centos7下使用git的安装地址为 /usr/bin/git :
2)、maven
三、构建项目
构建一个项目就是一个上图的流程,每个流程可以看成是一个管道(Pipeline),如下:
1、General(备注一下)
2、Advanced Project Options
设置一些项目构建的配置信息,如重试次数等:
3、配置项目的仓库
项目的代码管理仓库,可以是GitLab、GitLub、SVN server等,一般使用GitLab。需要填写git的地址(直接去GitLab上进行copy)和认证方式,但是Jenkins上不能使用账号密码的方式进行链接GitLab(可能出于安全考虑),需要使用SSH Username with private key方式,否则会报错如下:
可以选择其他方式,一般使用秘钥方式链接,如图:
4、Build Triggers(构建触发器)
一般情况下是我们提交了代码(或者merge操作)后,自己手动触发构建项目,即手动进行部署。但是很多时候我们可以设置其他的触发方式:如下面的轮训,定时,脚本、使用比较多的是当我们提交代码(push操作)或者将分支合并(merge)到主干的时间进行触发,如下:
所以主要关系GitLab提交代码后的告知Jenkens的钩子(Hook)地址,如下:
5、配置矩阵和构建环境(先不关注)
6、构建
之前版本中有Post-build Actions直接设置路径和账号密码(若tomcat中使用用户配置)等即可发布:
现在需要使用windows Batch脚本或者linux shell脚本进行发布:
7、构建后的操作步骤
构建后的操作步骤使用较多的就是发送邮件等。