Jenkins概念
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。
Jenkins特性:
开源的java语言开发持续集成工具,支持CI,CD;
易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;
消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;
分布式构建:支持Jenkins能够让多台计算机一起构建/测试;
文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;
丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等
安装Jenkins
(1) 准备条件
1.安装JDK。
下载jdk,上传至linux并解压
配置/etc/profile的内容
使配置生效
检测java环境信息
(2)安装Jenkins
-
下载jenkins
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war -
启动jenkins
使用nohup命令启动 nohup 当虚拟机黑屏时 也会运行 日志—>输出到jenkins.log & 后台运行
nohup java -jar /data/software/jenkins.war --httpPort=8777 --httpsPort=8778 > /data/software/jenkins.log 2>&1 & -
使用tail命令查看启动日志,日志中会输出jenkins密码
-
通过浏览器访问jenkins
http://192.168.223.128:8777
(3)tomocat启动jenkins
将war放到tomcat下⾯的webapps⾥,启动tomcat,并访问 ip地址:端⼝号/jenkins
这样就创建完成了
修改密码
进入到jenkins的工作目录,找到config.xml,我这里是/root/.jenkins/config.xml
修改该配置文件useSecurity的节点值为false
<useSecurity>true</useSecurity>
重启jenkins项目后,再次访问jenkins站点
进入到系统管理
修改jenkins的镜像地址
jenkins的所有插件安装后需要重启才能生效,由于Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址(清华大学源):
2个步骤
- 进入 Manage Jenkins -》 Manage Plugin -> Advanced 最下面有 Update Site 设置为:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
2. 修改服务器配置,进入jenkins安装目录 ,找到 /updates/default.json文件 (我这里是/home/jenkins/.jenkins/updates/default.json),将其中的 updates.jenkins-ci.org/download 替换为
mirrors.tuna.tsinghua.edu.cn/jenkins ,然后把www.google.com 修改为 www.baidu.com
进入到default.json所在目录
/root/.jenkins/updates/default.json
使用如下命令进行替换
sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
替换后使用http://192.168.xxx.xx:8777/restart重启jenkins
下载Linux版JDK
链接: https://pan.baidu.com/s/1Xd-zDEQDMc6Q0kwZ6o3PAA
提取码: bq6s
上传至Linux并解压
$ tar -zxvf jdk8u181.tar.gz
配置/etc/profile文件
$ vi /etc/profile
在最底部加入以下内容后保存并退出
#JDK
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export PATH=
J
A
V
A
H
O
M
E
/
b
i
n
:
JAVA_HOME/bin:
JAVAHOME/bin:PATH
export CLASSPATH=.:
J
A
V
A
H
O
M
E
/
l
i
b
/
d
t
.
j
a
r
:
JAVA_HOME/lib/dt.jar:
JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
使配置文件生效,并检查版本号
$ source /etc/profile
$ java -version
java version “1.8.0_181”
Java™ SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot™ 64-Bit Server VM (build 25.181-b13, mixed mode)
jenkins中配置JDK路径
jenkins-》全局工具配置-》JDK-》新增JDK
集成Git
为了jenkins能够拉取代码,需要安装Git环境和jenkins对应的Git插件
CentOS 7上安装Git环境
# 安装
$ yum install git -y
# 查看版本
$ git --version
jenkins安装Git插件
jenkins配置Git环境
此处无需在jenkins中配置Git环境,采用默认生成的即可
Gitee上任意建一个仓库
-
测试凭据是否能够使用
jenkins-》新建任务-》自由风格项目
进入jenkins的工作空间查看文件是否拉取下来,所有拉取的文件都会存放在jenkins工作空间中
到此用户名密码方式的凭证已经打通Git
需要凭证配置
凭据就是用来存储需要密文保护的数据库密码、Gitee密码信息、Docker私有仓库密码等,以便 Jenkins可以和这些第三方的应用进行交互。
1.凭证插件安装Credentials Binding
该插件默认在一开始就会被安装,安装后在jenkins-》系统管理-》安全栏目会出现Manage Credentials选项,若没有需要安装插件并重启。
Maven集成
在jenkins上发布Java项目时需要使用Maven来进行构建打包(Gradle项目则需要安装配置Gradle)
下载安装
# 找一个目录存放maven
cd /data/software/
# 从阿里云上下载maven安装包
wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
# 解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
# 当前maven的安装目录为:/usr/local/java/apache-maven-3.6.3
环境配置
vi /etc/profile
在最后面JDK配置上作出一些更改
export MAVEN_HOME=/usr/local/java/apache-maven-3.6.3
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
使配置生效并查看安装情况
source /etc/profile
mvn -version
jenkins配置Maven
在/data/software目录下新建一个repository文件夹,用来作为maven的仓库
$ cd /data/software
$ mkdir repository
使用root账户修改Maven的settings.xml文件(指定仓库目录和阿里云镜像)
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--本地仓库-->
<localRepository>/data/software/repository</localRepository>
<mirrors>
<!--阿里云镜像-->
<mirror>
<id>aliyun-maven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven mirror</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
...
...
</settings>
Maven测试项目构建
接下来的步骤是将java项目传到Gitee上供jenkins拉取打包,如果运维同学不懂Java代码,可以直接将我的Git项目fork或采用gitlab 等其他方式进行拉取。
新建Maven项目
在码云上建一个同名的git项目
使用Git上传到码云
使用git bash命令将项目初始化,无论是传到Gitee、GitHub、GitLab、Codeup步骤一样,如果对Git的安装部署不熟悉
# 进入到本地的项目文件夹
$ cd existing_folder
# 初始化仓库
$ git init
# 添加文件至工作区并提交
$ git add .
$ git commit -m "first commit"
# 关联Gitee远程仓库
$ git remote add origin https://gitee.com/nobug8/it235-jenkins-jar.git
# 将本地仓库推送到远程仓库的master分支,此处会弹出用户名密码交互
$ git push -u origin master
## 如果push报错可以先拉取一下,会有新的gitee生成的文件拉下来,然后重新添加提交并push
$ git pull origin master --allow-unrelated-histories
$ git add .
$ git commit -m "拉取下来合并后再次提交"
$ git push -u origin master
jenkins添加Maven项目任务
新建任务
编写Maven编译命令
构建并查看控制台日志
保存后,点击立即构建,然后进入日志控制台查看日志
从日志可以看到代码已经在拉取了,而且走的事阿里云仓库,第一次拉取过程会比较长。
通过查看/data/software/repository可以看到有存放拉取的jar包,通过这2个证据可以证明settings.xml文件配置成功且有效
构建成功后查看jenkins的workspace目录下的jar包
到此Maven集成完毕