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

摘要:
Jenkins功能包括:1、持续的软件版本发布/测试项目。Jenkins启动:首先保证系统中已经安装了jdk,最好是jdk1.8以上。由于Maven的面向项目的方法,许多ApacheJakarta项目发文时使用Maven,而且公司项目采用Maven的比例在持续增长。所以需要使用jenkins持续集成工具,方法管理代码、发布、测试,集中管理,需要搭建jenkins+jdk+git+maven+gradle,jenkins不需要依赖于数据库。

一、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
yuminstall 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版本
yumsearch 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`的
yuminstall 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 1000rm -rf
二、安装Git
1.Git 的安装
Ubuntu 下安装
apt-get install git
Centos/Redhat 安装
yuminstall git
Fedora23 安装
dnf install git 或者 yuminstall git
Fedora22/21 安装
yuminstall 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安装路径,去掉自动安装的勾
CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统第1张
7、jenkins配置git密钥
CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统第2张
CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统第3张
cat .ssh/id_rsa###查看私钥,复制私钥到jenkins里
CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统第4张
选择git代码下载地址,添加刚刚生成的密钥,如果密钥与git地址不匹配会报错
CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统第5张

三、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-8OS name: "linux", version: "3.10.0-693.11.6.el7.x86_64", arch: "amd64", family: "unix"

5、jenkins添加maven安装路径

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

四、Gradle安装

1、下载地址:

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

2、解压安装:

unzipgradle-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:04UTC
Build number: none
Revision:     276bdcded730f53aa8c11b479986aafa58e124a6

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

5、jenkins添加gradle安装路径

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

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

免责声明:文章转载自《CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持续集成系统》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ArcGIS矢量数据批量合并工具linux账号管理和密码过期设置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【环境巡检】使用jmeter+ant+Jenkins+企业微信自动化巡检_jmeter实现脚本及响应超时、失败重试(1)

 一、分析准备  由于项目上线了,需要尽快接入巡检避免环境挂了不自知。虽然运维有运维侧的监控,但是测试还是从业务侧的巡检是否成功开展一些工作比较好。经过了一番调研决定使用jmeter+ant+Jenkins+企业微信自动化巡检及相关通知。 经过分析,我们要做如下的准备: 1、jmeter:实现巡检的接口调用,判断前后端接口返回内容、响应时间是否正常; 2、...

Android开发-Android Studio问题以及解决记录

[Android开发] Android Studio问题以及解决记录 http://blog.csdn.net/niubitianping/article/details/51400721 1、真机运行报错Multi dex requires Build Tools 21.0.0 / Current: 19.1 解决: 在项目 build.gradle 里...

镜像的各种版本区别

1 DVD版:这个是常用版本,就是普通安装版了,推荐大家安装。里面包含大量的常用软件,大部分情况下安装时无需再在线下载,体积为4G。 2 Everything版:顾名思义,包含了所有软件组件,当然体积也庞大,高达7G。 3 LiveCD版:就是一个光盘CentOS系统,可通过光盘启动电脑,启动出CentOS系统,也有图形界面,也有终端。也可以安装到计算机,...

Git使用记录(二)

一)git init 初始化仓库 要使用Git进行版本管理,必须先初始化仓库,请先建立一个目录并初始化仓库 mkdir gittest cd gittest git init 初始化成功以后会在当前目录下建立一个.git的隐藏文件 这个.git目录内存储着管理当前内容所需的仓库数据,在git中我们将这个目录的内容称为“附属于该仓库的工作树”,文件编辑等...

Jenkins添加用户

新建用户          Jenkins刚开始的界面是允许访客进行所有操作的,这时Jenkins是有安全隐患的,也不容易去管理。这时,我们需要管理Jenkins的权限,对它的权限进行设置。关于Jenkins权限设置的操作在我的另一篇博客中有介绍:用户权限分配(全局安全设置)。          对于Jenkins,我们在使用的时候,给不同的用户分配不同的...

gradle初体验

1、下载 下载网站 https://services.gradle.org/distributions/ 我们公司用的是4.8.1的版本 下载完成解压之后是这样的 2、配置环境变量 1、环境变量 ---> 新建 ---> 变量名GRADLE_HOME、变量值(自己的解压路径) 2、Path ---> 新建 ---> %GRAD...