目录

  • 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出现以下页面

为什么jenkins启动之后源代码管理不能编辑_tomcat


2、等待一会儿进入此提示、根据提示找到对应的密码

为什么jenkins启动之后源代码管理不能编辑_tomcat_02

为什么jenkins启动之后源代码管理不能编辑_linux_03


点击继续

3、选择suggested的插件进行下载

为什么jenkins启动之后源代码管理不能编辑_linux_04


4、等待完成

为什么jenkins启动之后源代码管理不能编辑_centos_05


注意:因为网速原因,插件可能下载失败,没关系,把他们记录下来,,点击继续,进去之后手动重新安装未安装好的插件,也可以重试,继续下载安装

5、创建用户

为什么jenkins启动之后源代码管理不能编辑_tomcat_06


5、jenkins的分享地址

为什么jenkins启动之后源代码管理不能编辑_centos_07


如果开始使用页面过一会儿就消失了。并且时间空白。可能需要登录。换个浏览器,打开相同地址就会出现认证页面

欢迎界面

为什么jenkins启动之后源代码管理不能编辑_tomcat_08

管理插件

简介:
我们配置的是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、找到全局工具箱

为什么jenkins启动之后源代码管理不能编辑_maven_09


2、配置jdk目录

为什么jenkins启动之后源代码管理不能编辑_centos_10


为什么jenkins启动之后源代码管理不能编辑_tomcat_11


3、配置git目录

为什么jenkins启动之后源代码管理不能编辑_linux_12


4、配置maven目录并保存

为什么jenkins启动之后源代码管理不能编辑_linux_13


5、关于重启jenkins

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

为什么jenkins启动之后源代码管理不能编辑_jenkins_14


复制自己的秘钥备用

2、进入jenkins系统设置

为什么jenkins启动之后源代码管理不能编辑_linux_15


3、粘贴到jenkins

为什么jenkins启动之后源代码管理不能编辑_centos_16

新建任务

一、创建任务

为什么jenkins启动之后源代码管理不能编辑_maven_17


二、定义名称和类型

为什么jenkins启动之后源代码管理不能编辑_tomcat_18


三、设置maven

公有git仓库

1、设置描述

为什么jenkins启动之后源代码管理不能编辑_tomcat_19


2、选择版本控制器和仓库地址

为什么jenkins启动之后源代码管理不能编辑_jenkins_20


3、设置触发器(保持默认)

为什么jenkins启动之后源代码管理不能编辑_maven_21


4、设置构建(编译打包)

为什么jenkins启动之后源代码管理不能编辑_tomcat_22


5、构建后操作

在构建设置中选择:(send build artifacts over ssh)通过ssh发送构建文件

为什么jenkins启动之后源代码管理不能编辑_tomcat_23


为什么jenkins启动之后源代码管理不能编辑_tomcat_24


说明:

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

构建任务

一、立即构建

为什么jenkins启动之后源代码管理不能编辑_linux_25


为什么jenkins启动之后源代码管理不能编辑_maven_26


为什么jenkins启动之后源代码管理不能编辑_maven_27


为什么jenkins启动之后源代码管理不能编辑_linux_28


等待一段时间自动完成

如果出现错误,检查前边配置

检测

来到tomcat业务主机

为什么jenkins启动之后源代码管理不能编辑_tomcat_29