目录
- jenkins概述
- jenkins特性
- 实战案例
- 环境
- 部署git
- 部署jdk
- 部署Maven
- 部署tomcat
- 部署jenkins
- 管理插件
- jenkins系统设置
- SSH设置
- 新建任务
- 构建任务
- 检测
jenkins概述
- jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Husdson(Husdson是商用的),主要用于持续、自动的构建/测试软件项目、监控一些定时执行的任务。jenkins用java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行
- jenkins通常与版本管理工具(SCM)、构建工具结合使用;常用的版本控制工具有SVN、GIT。jenkins构建工具有Maven、Ant、Gradle
jenkins特性
- 易于安装
不需要安装,不需要数据库,只需要通过java-jar jenkins.war或部署到一个servlet容器中
- 易于配置
所有的配置都可能通过jenkins提供的web界面完成,当然如果你喜欢,也可以通过手动修改xml文件进行配置
- 测试报告
生成jUnit或TestNG的测试报告,集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知
- 文件识别
jenkins能跟踪每次构建生成哪些jar包以及使用那个版本的jar包
- 分布式构建
支持jenkins能够让多台计算机一起构建/测试
- 插件支持
jenkins可以通过第三方插件进行扩展,也可以根据团队需要开发插件
- 任务(job)和构建(build)
任务:(job)是jenkins的一个执行计划,是一系列操作的集合
构建:是jenkins的任务的一次运行
实战案例
环境
- github
- 192.168.100.10:部署jenkins
- 192.168.100.11:模拟tomcat网站服务器
部署git
环境
- 4G
- CentOS7
- 192.168.100.10
一、安装依赖包
[root@pg0 ~]# yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
二、官方下载最新版本
[root@pg0 ~]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
三、安装git
1、解压并cd到解压目录
[root@pg0 ~]# tar xf git-2.9.5.tar.gz
[root@pg0 git-2.9.5]# cd git-2.9.5/
[root@pg0 git-2.9.5]# make prefix=/usr/local/git all //编译并设置安装路径
[root@pg0 git-2.9.5]# make prefix=/usr/local/git install //安装
2、修改环境变量
[root@pg0 ~]# vim /etc/bashrc
...
PATH=$PATH:$HOME/bin:/usr/local/git/bin //最后一行添加
[root@pg0 ~]# source /etc/bashrc
3、测试
[root@pg0 ~]# git --version
git version 1.8.3.1
部署jdk
注意:不能使用jsk9和jdk10
一、下载软件:jdk-8u291-linux-x64.tar.gz
二、解压安装
[root@pg0 ~]# tar xvf jdk-8u291-linux-x64.tar.gz -C /usr/local
[root@pg0 ~]# cd /usr/local
[root@pg0 local]# mv jdk1.8.0_291 jdk //为了简介,更改名字
三、修改环境变量
[root@pg0 ~]# vim /etc/bashrc
...
JAVA_HOME=/usr/local/jdk
expprt PATH=$PATH:$JAVA_HOME/bin
[root@pg0 ~]# source /etc/bashrc
四、测试jdk
[root@pg0 ~]# java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)
注意:如果系统中已经安装java-1.8.0-openjdk,需要将其卸载
部署Maven
一、下载和解压maven
1、下载maven
[root@pg0 ~]# wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
2、解压到local目录
[root@pg0 ~]# tar xvf apache-maven-3.5.4-bin.tar.gz -C /usr/local/
[root@pg0 ~]# mv /usr/local/apache-maven-3.5.4 /usr/local/maven
二、修改环境变量
[root@pg0 ~]# vim /etc/bashrc
...
export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
PATH=$M2:$PATH:$HOME/bin:/usr/local/git/bin
export JAVA_HOME=/usr/local/jdk
export PATH
[root@pg0 ~]# source /etc/bashrc
三、测试maven
[root@pg0 ~]# mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /usr/local/maven
Java version: 1.8.0_291, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_291/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "unix"
部署tomcat
一、官网下载tomcat
[root@pg0 ~]# https://downloads.apache.org/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz
二、解压到local目录
[root@pg0 ~]# tar xvf apache-tomcat-9.0.46.tar.gz -C /usr/local/
[root@pg0 ~]# mv /usr/local/apache-tomcat-9.0.46/ /usr/localtomcat
三、定义Tomcat所需环境变量
[root@pg0 ~]# vim /etc/profile
...
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
[root@pg0 ~]# source /etc/profile
四、启动Tomcat
[root@pg0 ~]# /usr/local/tomcat/bin/startup.sh
五、测试Tomcat
在浏览器地址中输入http://192.168.100.10:8080
如果出现Tomcat默认主页则说明测试成功
六、关闭Tomcat
[root@pg0 ~]# /usr/local/tomcat/bin/shutdown.sh
部署jenkins
一、官方下载jenkins
[root@pg0 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.295/jenkins.war
二、部署jenkins.war到tomcat下
直接将下载好的war文件拷贝到tomcat主目录中即可
[root@pg0 ~]# cp jenkins.war /usr/local/tomcat/webapps/
[root@pg0 ~]# /usr/local/tomcat/bin/startup.sh //启动tomcat时会自动解压webapps下的war包
三、登录jenkins
1、在浏览器中输入http://192.168.100.10:8080/jenkins出现以下页面
2、等待一会儿进入此提示、根据提示找到对应的密码
点击继续
3、选择suggested的插件进行下载
4、等待完成
注意:因为网速原因,插件可能下载失败,没关系,把他们记录下来,,点击继续,进去之后手动重新安装未安装好的插件,也可以重试,继续下载安装
5、创建用户
5、jenkins的分享地址
如果开始使用页面过一会儿就消失了。并且时间空白。可能需要登录。换个浏览器,打开相同地址就会出现认证页面
欢迎界面
管理插件
简介:
我们配置的是git+maven方式的自动化部署所以git和maven相关插件时必须的还有一个ssh用于机器间的文件传送
一、安装插件Deploy to container
1、作用:支持自动化将代码部署到tomcat容器
2、安装过程:
系统管理–>插件管理–>可选插件–>过滤Deploy to container–>勾选
点击下边的按钮,直接安装,时间可能会有点久
三、安装插件Maven Integration
作用:jenkins利用maven编译,打包,所需插件
四、安装插件publish Over SSH
Publish Over SSH插件是jenkins里面必不可少的插件之一,主要的功能有两个 把jenkins服务器上的文件,传输到远程tomcat服务器的指定目录。
五、安装git相关3个插件
- GitHub Authentication
- GitHub Branch Source
- GitHub Organization Folder
jenkins系统设置
系统管理->(全局工具配置)Global Tool Configuration,配置jdk,git,maven的根目录
1、找到全局工具箱
2、配置jdk目录
3、配置git目录
4、配置maven目录并保存
5、关于重启jenkins
- http://192.168.100.10:8080/jenkins/restart
- http://192.168.100.10:8080/jenkins/stop
- http://192.168.100.10:8080/jenkins/reload
SSH设置
目的:(192.168.0.10) jinkens 服务器上的maven将开发产生的*.war包。通过SSH自动推送到远程tomcat服务器上(192.168.0.11)。需要手工配置sshkey。配合自动化推送
一、jenkins(192.168.100.10)服务器准备秘钥认证
[root@pg0 ~]# ssh-keygen //一路回车
[root@pg0 ~]# ssh-copy-id 192.168.100.11 //拷贝秘钥至业务服务器
二、在jenkins上配置ssh信息
1、准备ssh私钥
[root@pg0 ~]# cat ~/.ssh/id_rsa
复制自己的秘钥备用
2、进入jenkins系统设置
3、粘贴到jenkins
新建任务
一、创建任务
二、定义名称和类型
三、设置maven
公有git仓库
1、设置描述
2、选择版本控制器和仓库地址
3、设置触发器(保持默认)
4、设置构建(编译打包)
5、构建后操作
在构建设置中选择:(send build artifacts over ssh)通过ssh发送构建文件
说明:
name:ssh server因为之前的配置会默认出现tomcat业务服务器的名字
source file:构建之后,在jenkins服务器上是可以自动看到war包的。(该路径不需要创建)ls /root/.jenkins/jobs/testjob1/builds/target/*.war
Remove prefix:自动删除路径前缀(不需要创建路径前缀)
Remove directory:tomcat业务服务器上的路径,需要提前在192.168.100.11(tomcat)上创建该目录
用来存放网站源代码(需要后台创建)
Exec command:tomcat(192.168.100.11)在接收到源码之后的自定义操作比如:将源码拷贝到网站的主目录(/jenkins),并执行一些其他操作如重启服务器等(或创建文件touch)(需要后天创建)
6、在jenkins服务器上创建相应文件
[root@pg0 ~]# mkdir -p /jenkins/war //创建用于存放源代码的目录
[root@pg0 ~]# mkdir /jenkins/sh //创建脚本目录
[root@pg0 ~]# vim /jenkins/sh/deploy.sh //创建待执行脚本,如果构建任务执行完成,此脚本也必须执行完成,否则认为失败
touch /root/aaa.txt
touch /root/bbb.txt
在脚本文件中添加上面两行代码
[root@pg0 ~]# chmod +x /jenkins/sh/deploy.sh
构建任务
一、立即构建
等待一段时间自动完成
如果出现错误,检查前边配置
检测
来到tomcat业务主机