CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统

Posted Ivan_yyq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统相关的知识,希望对你有一定的参考价值。

 一、Jenkinx(持续集成工具)

官网:https://jenkins.io/

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
 
Jenkins启动:
首先保证系统中已经安装了jdk,最好是jdk1.8以上。
第一种启动方法,切换到jenkins.jar存放的目录,输入如下命令:
$ java -jar jenkins.jar
然后在浏览器中(推荐用火狐)输入localhost:8080,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins
第二种方法是用tomcat打开
解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat
将jenkins.war文件放入tomcat下的webapps目录下,启动tomcat时,会自动在webapps目录下建立jenkins目录,所以在地址栏上需要输入的地址于上一种方法有点不一样。
 
 
二、GIT(分布式版本控制系统)
官网:https://git-scm.com/
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/gɪt/。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
 
三、Maven(项目对象模型(POM))
官网:http://maven.apache.org/
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
 
 
四、Gradle(安卓APP项目构建工具)
官网:https://gradle.org/
Gradle是一种构建工具,它可以帮你管理项目中的差异,依赖,编译,打包,部署......,你可以定义满足自己需要的构建逻辑,写入到build.gradle中供日后复用.

Gradle不是一种编程语言,它不能帮你实现软件中的任何实际功能

 
背景
因公司项目较多,测试环境经常发布代码更新,每次更新代码都是手动执行命令将代码上传至服务器,繁琐。所以需要使用jenkins持续集成工具,方法管理代码、发布、测试,集中管理,需要搭建jenkins+jdk+git+maven+gradle,jenkins不需要依赖于数据库。
 
 
安装java环境
1.查看服务器版本
cents7,继续。
cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core) 
 
 
2.安装java
yum install java 
但对于centos有个问题,不可以安装成gcj(GNU Compiler for the Java Programing Language),导致jenkins不工作,如果查看java版本类似如下,需要卸载,安装其他版本
java -version java version "1.5.0" gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)
 
3.卸载异常版本:
yum remove java 
 
 
4.搜索openJDK版本
yum search openjdk

#java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
#java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
#java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector ...

 

 
5.安装openJDK
#安装`1.8.0`的 
yum install java-1.8.0-openjdk 
 
6.查看java版本
java -version

openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b14)
OpenJDK 64-Bit Server VM (build 25.151-b14, mixed mode)

 

 
 
一、安装jenkins
可以选择安装LTS Release版本,好像每半年迭代一次。或者Weekly Release,每一周或者两周更新一次。
最近的版本2.24隔了两个礼拜,估计10月9号会发布最新为2.25,每个版本会有一些enhancement & bug fix。
1.拉取库的配置到本地对应文件
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo 
 
jenkins.repo内容是这样:
[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat-stable
gpgcheck=1 
 
 
2.导入公钥
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key 
 
3.安装jenkins
#`-y`参数:回答全部问题为是
yum -y install jenkins 
基本安装完成。
 
 
下载rpm包过程中报错
Downloading Packages:
http://pkg.jenkins.io/redhat/jenkins-2.16-1.1.noarch.rpm: [Errno 14] PYCURL ERROR 18 - "transfer closed with 66371436 bytes remaining to read" Trying other mirror.
 
Error Downloading Packages:
  jenkins-2.16-1.1.noarch: failure: jenkins-2.16-1.1.noarch.rpm from jenkins: [Errno 256] No more mirrors to try.
大概就是下载速度太慢关闭了,这里的解决办法是多次执行install直到下完或者还是到自已机器下载再上传到rpm所在目录,下载链接
 
 
 
 
顺便贴一下LTS安装指令,只是稍有不同:
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key 
yum install jenkins 
 
 
 
 
 
 
4.更新jenkins
yum update jenkins 
 
 
熟悉jenkins配置
1.系统配置文件
cat /etc/sysconfig/jenkins | more 
 
可以获得几个重要配置项目信息
  • JENKINS_HOME="/var/lib/jenkins"   ###存放jenkins 配置及工作文件
  • JENKINS_PORT="8080"     ###jenkins默认8080端口
  • /etc/sysconfig/jenkins ###jenkins配置文件
 
 
 
 
2.配置文件夹
这个位置挺重要
ls /var/lib/jenkins 
有jobs、logs、plugins等文件夹及文件若干。勿乱删
这次主要看了看plugins文件夹,所有插件都在里面,如插件ssh-slaves,会有一个ssh-slaves文件夹及ssh-slaves.jpi。
当某个插件未安装成功时,会有一个以.tmp结尾的文件
 
3.日志
logs相关两个位置:
  • /var/lib/jenkins/logs有logs,暂时看来没记录啥,以后再追。
  • /var/log/jenkins/jenkins.log,记录了插件安装等日志,失败信息原因等很清晰,重要
 
 
启动&配置
1.启动服务
systemctl start jenkins 
 
2.浏览器访问
http://IP地址:8080 
 
3.获取管理员密码
按提示,去/var/lib/jenkins/secrets/initalAdminPassword,复制贴进去,continue
 
4.选择安装方式
默认推荐吧,左边的。第二个自定义插件,如果知道需要什么插件,插件都是干嘛的,再选custom吧
 
5.等待插件安装
如果正常,没啥说的。如果像这样,一些插件失败了,刷新页面,下一步。失败的插件后来再装。
 
 
6.插件安装失败分析
这里贴一个相似的ISSUE,unsolved,就我个人遇到的可能有网络的原因
查看jenkins.log,搜索failed关键字,一些插件依赖credentials,因为网络原因没安装成功credentials,导致好几个没安装成功。
去jenkins管理界面手动安装吧
Caused by: java.io.IOException: Plain Credentials Plugin v1.3 failed to load. - credentials v2.1.5 is missing. To fix, install v2.1.5 or later.
 
7.手动安装异常插件
系统管理 -> 管理插件 -> 可选插件,表格右上异步过滤,插件打勾,直接安装。安装插件就在这里安装。
注意
异常插件处理的时候,这里需要注意插件之间的依赖关系,A插件依赖的B插件没安装成功,安装A之前先安装B,管理插件里的异常列表写的很清楚。
 
卸载jenkins
在某次自动安装插件时异常了一大片,刷新也没出现下一步,等待许久无果,删了重装
rpm -e jenkins 
2.会有一些残留的文件分散在各地
find / -iname jenkins | xargs -n 1000 rm -rf 
 
 
 
二、安装Git
1.Git 的安装
Ubuntu 下安装
 apt-get install git 
Centos/Redhat 安装
 yum install git 
Fedora23 安装
 dnf install git 或者 yum install git 
Fedora22/21 安装
 yum install git 
SUSE/OPENSUSE安装
 sudo zypper install git 
Mac OS X 安装
在终端下执行 brew install git  (注:请自行解决环境变量以及Brew工具的问题)
 
 
2、Git 使用前的配置
配置自己的用户名和邮箱
在使用git前,我们需要告诉git自己是谁以及自己的邮箱是什么,所以我们需要对git进行一些基本设置。打开终端(Windows打开安装git时安装的git bash)执行如下命令
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱" 
 
 
3、生成SSH密钥对
 ssh-keygen   ###生成密码,一直回车
 
 
 cat .ssh/id_rsa.pub  ###查看公钥,复制公钥给开发的同事或者自己有GIT账号,登录GIT添加公钥,具体怎么添加请百度
 
 
 
4、测试,返回结果为”Welcome to Gitee.com“正常访问
ssh -T git@gitee.com
Welcome to Gitee.com 
 
 
5、测试从git上下载代码
 git clone git@gitee.com:crdev/******* 
 
 
6、jenkins添加git安装路径,去掉自动安装的勾

 

 
 
7、jenkins配置git密钥
 

 

 

 

 
 
 cat .ssh/id_rsa  ###查看私钥,复制私钥到jenkins里
 
 

 

 
选择git代码下载地址,添加刚刚生成的密钥,如果密钥与git地址不匹配会报错
 
 

 

 

 

 

三、Maven安装

1、apache-maven-3.3.9-bin.tar.gz下载地址:

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz 

 

2、解压安装:
tar -zxvf apache-maven-3.3.9-bin.tar.gz
mv apache-maven-3.3.9 /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven 
 
 
3、配置环境变量:
使用vim编辑 /etc/profile文件,在文件末尾增加以下内容:
MAVEN_HOME=/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven  #注意这里是Maven的安装路径
export PATH=$PATH:$MAVEN_HOME/bin

 

重载/etc/profile这个文件

source /etc/profile

 

4、检验maven是否安装成功

mvn -v

#若出现以下内容,安装成功:
Apache Maven
3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven home: /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven Java version: 1.8.0_151, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-693.11.6.el7.x86_64", arch: "amd64", family: "unix"

 

5、jenkins添加maven安装路径

 

 

 

 

 

 

四、Gradle安装

1、 下载地址:

wget https://downloads.gradle.org/distributions/gradle-2.10-all.zip 

 

2、解压安装:

unzip gradle-2.10-all.zip 

mkdir -p /var/lib/jenkins/tools/hudson.model.Gradle 

mv /var/lib/jenkins/tools/hudson.model.Gradle/gradle-2.10 

 

3、配置环境变量:
使用vim编辑 /etc/profile文件,在文件末尾增加以下内容:
GRADLE_HOME=/var/lib/jenkins/tools/hudson.model.Gradle/gradle-2.10   #注意这里是Gradle的安装路径
export PATH=$PATH:$MAVEN_HOME/bin

 

重载/etc/profile这个文件

source /etc/profile 

 

 

4、检验gradle是否安装成功

gradle -version

#若出现以下内容,安装成功:

------------------------------------------------------------
Gradle 2.10
------------------------------------------------------------

Build time:   2015-12-21 21:15:04 UTC
Build number: none
Revision:     276bdcded730f53aa8c11b479986aafa58e124a6

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
OS:           Linux 3.10.0-693.11.6.el7.x86_64 amd64

 

5、jenkins添加gradle安装路径

Jenkins+Jdk+Git+Maven+Gradle搭建已经完成,接下构建项目并部署,请查看“Jenkins+Jdk+Git+Maven持续集成部署Weblogic实例项目” 或者 “Jenkins+Jdk+Git+Maven持续集成部署Tomcat实例项目”

以上是关于CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统的主要内容,如果未能解决你的问题,请参考以下文章

centos从零开始搭建Jenkins容器

jenkins 集成工具搭建

Centos7搭建 jdk+tomcat+ant+jmeter+jenkins自动化测试平台

centos上Jenkins搭建

Jenkins + svn + maven 构建持续集成环境搭建

Jenkins + Git + Maven + tomcat集成环境搭建