Jenkins 在持续集成领域市场份额中居于主导地位,被各种大小规模的团队用于用各种语言实现的各类项目中,语言包括.NET、Java、Ruby、Groovy、Grails、PHP 等。
选择 Jenkins 的理由如下:
• 易于使用:Jenkins 的用户界面简单、直观、友好,发布工作人员只需要通过简单的 UI 操作就可以替代原来繁琐的发布工作。
• 拥有良好的扩展性:提供数以百计的开源插件可供使用,而且几乎每周会有新的开源插件贡献进来,这些插件的安装都十分快捷和简单。
• 发展良好:Jenkins 开源社区的规模变得越来越大、活跃度也变得越来越高,发展速度非常快。
GitLab是一个代码仓库,用来管理代码。Jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务。
这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮助开发团队更高效的集成和发布代码


部署Jenkins
一.实验环境
操作系统: CentOS7.9
jdk版本: 1.8
jenkins版本: 2.164
gitlab版本: 10.8.7
maven版本: 3.5.4
appserver: 192.168.10.21
jenkins: 192.168.10.22
gitlab: 192.168.10.23二. 安装运行
配置java环境
[root@jenkins ~]# tar xf jdk-8u181-linux-x64.tar.gz
[root@jenkins ~]# mv jdk1.8.0_181/ /usr/local/java
[root@jenkins ~]# vim /etc/profile.d/
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
[root@jenkins ~]# . /etc/profile.d/
[root@jenkins ~]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)rpm安装jenkins
[root@jenkins ~]# curl -o /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
[root@jenkins ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root@jenkins ~]# yum install -y jenkins
Jenkins相关文件(yum安装):
[root@jenkins ~]# 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 # 默认的JENKINS_HOME目录
/var/log/jenkins # 日志文件所在目录
运行jenkins
修改配置文件
[root@jenkins ~]# vim /etc/sysconfig/jenkins
JENKINS_JAVA_CMD="/usr/local/java/bin/java"修改systemd启动文件
[root@jenkins ~]# vim /usr/lib/systemd/system/jenkins.service[Service]
EnvironmentFile=-/etc/sysconfig/jenkins启动jenkins
[root@jenkins ~]# systemctl daemon-reload
[root@jenkins ~]# systemctl start jenkins
[root@jenkins ~]# netstat -tanp |grep java
tcp6 0 0 :::8080 :::* LISTEN 2361/java安装Maven
Maven是基于项目对象模型(POM project object
model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具 Maven采用纯Java编写,
它采用了一种被称之为Project Object
Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,
通过该文件Maven可以管理项目的整个生命周期,包括清除、编译,测试,报告、打包、部署等等。
软件下载: http:///
[root@jenkins ~]# tar xf apache-maven-3.5.4-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.5.4 /usr/local/maven3.5
[root@jenkins ~]# cat /etc/profile.d/maven.sh
export MAVEN_HOME=/usr/local/maven3.5
export PATH=$MAVEN_HOME/bin:$PATH
[root@jenkins ~]# . /etc/profile.d/maven.sh
[root@jenkins ~]# mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /usr/local/maven3.5
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/local/java/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-514.el7.x86_64", arch: "amd64", family: "unix"配置maven国内镜像加速 【待验证】
打开$MAVEN_HOME/conf/settings.xml文件,找到mirrors标签,加入以下内容:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>如果有问题,参考阿里文档中的maven配置指南:https://maven.aliyun.com/mvn/guide
============================================================
安装git
yum install -y git #注意git版本不要低于1.7三.系统配置
服务启动后,使用浏览器访问http://jenkins-ip:8080
1、初始化配置
1).根据提示解锁jenkins
2).安装插件,安装推荐的就好
3).创建管理员帐户
第2)步可能出现的问题:

提示我已经离线,这是有问题的,虽然可以离线安装,但是我们这里最好还是选择在线安装:
解决上述问题方法:
1) 修改/var/lib/jenkins/updates/default.jsonjenkins在下载插件之前会先检查网络连接,其会读取这个文件中的网址。默认是:
访问谷歌,这就很坑了,服务器网络又不能FQ,肯定监测失败呀,所以将图下的google改为www.baidu.com即可,更改完重启服务。

2) 修改/var/lib/jenkins/hudson.model.UpdateCenter.xml
该文件为jenkins下载插件的源地址
改地址默认jenkins默认为:https://updates.jenkins.io/update-center.json,就是因为https的问题,此处我们将其改为http即可,之后重启jenkins服务即可。
其他国内备用地址(也可以选择使用):
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json http://mirror.esuni.jp/jenkins/updates/update-center.json
关于插件
按自己的需求安装相应的插件,如果缺少什么功能一般是少了某个插件,具体哪个可以百度,然后在系统设置->插件管理进行安装
一些常见插件:
Ansible plugin
Ant Plugin
Blue Ocean
Build Timeout
Email Extension Plugin
Git Parameter Plug-In
Gitlab Hook Plugin
GitLab Plugin
Maven Invoker plugin
Maven Integration plugin
Publish Over SSH
SSH plugin
SSH Slaves plugin如果有某个插件在插件管理找不到,可以在http://updates.jenkins-ci.org/download/plugins/ 下载
如果官网下载不到,也可以在国内镜像源中下载插件:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/ 下载完成后在这个地方上传:
系统管理–插件管理–高级

完成后进入主界面

2、系统管理->插件管理
Publish Over SSH
GitLab
Maven Integration安装Publish over SSH插件及Maven Integration插件,后续用到

3、系统管理->系统设置-环境变量-新增,设置编码为UTF-8 (可选)
键:LANG 值:zh_CN.UTF-8


5、系统管理->全局工具配置
配置jdk,git和maven,取消勾选自动安装



















