Jenkins 在持续集成领域市场份额中居于主导地位,被各种大小规模的团队用于用各种语言实现的各类项目中,语言包括.NET、Java、Ruby、Groovy、Grails、PHP 等。
选择 Jenkins 的理由如下:

• 易于使用:Jenkins 的用户界面简单、直观、友好,发布工作人员只需要通过简单的 UI 操作就可以替代原来繁琐的发布工作。
• 拥有良好的扩展性:提供数以百计的开源插件可供使用,而且几乎每周会有新的开源插件贡献进来,这些插件的安装都十分快捷和简单。
• 发展良好:Jenkins 开源社区的规模变得越来越大、活跃度也变得越来越高,发展速度非常快。

GitLab是一个代码仓库,用来管理代码。Jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务。
这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务,帮助开发团队更高效的集成和发布代码

jenkins需要账号么 jenkins用的多吗_jenkins


jenkins需要账号么 jenkins用的多吗_运维_02

部署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)步可能出现的问题:

jenkins需要账号么 jenkins用的多吗_jenkins_03


提示我已经离线,这是有问题的,虽然可以离线安装,但是我们这里最好还是选择在线安装:

解决上述问题方法:

1)    修改/var/lib/jenkins/updates/default.json

jenkins在下载插件之前会先检查网络连接,其会读取这个文件中的网址。默认是:
访问谷歌,这就很坑了,服务器网络又不能FQ,肯定监测失败呀,所以将图下的google改为www.baidu.com即可,更改完重启服务。

jenkins需要账号么 jenkins用的多吗_maven_04


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/ 下载完成后在这个地方上传:
系统管理–插件管理–高级

jenkins需要账号么 jenkins用的多吗_maven_05

完成后进入主界面

jenkins需要账号么 jenkins用的多吗_java_06


2、系统管理->插件管理

Publish Over SSH
GitLab
Maven Integration

安装Publish over SSH插件及Maven Integration插件,后续用到

jenkins需要账号么 jenkins用的多吗_jenkins需要账号么_07


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

键:LANG 值:zh_CN.UTF-8

jenkins需要账号么 jenkins用的多吗_jenkins_08

jenkins需要账号么 jenkins用的多吗_maven_09

5、系统管理->全局工具配置

配置jdk,git和maven,取消勾选自动安装

jenkins需要账号么 jenkins用的多吗_jenkins_10


jenkins需要账号么 jenkins用的多吗_maven_11


jenkins需要账号么 jenkins用的多吗_jenkins需要账号么_12