一、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
官网:http://maven.apache.org/
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
四、Gradle
官网: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密钥
cat .ssh/id_rsa ###查看私钥,复制私钥到jenkins里
选择git代码下载地址,添加刚刚生成的密钥,如果密钥与git地址不匹配会报错
三、Maven安装
下载maven软件安装包