简介

Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由]enkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”( lenkins的安装位置),进行编译、打包和发布到web容器中。

是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控一些定时执行的任务。jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。

jenkins通常与版本管理工具(SCM)、构建工具结合使用﹔常用的版本控制工具有SVN、GIT。jenkins构建工具有Maven 、 Ant 、Gradle。

实现持续集成/持续发布

开发(git) -->git主库-->jenkins(git+jdk+tomcat+maven打包+测试)-->发布到tomcat服务器

包含两部分:CI/CD

Cl  (continuousintegration-Cl)持续集成  代码合并,构建,部署,测试都在一起,不断的执行的过程,并对结构反馈。

CD e(continuous Deloyments )  持续交付   把代码部署到测试环境,预生产环境

CD (continous Delivery)   持续部署    将最终的产品发布到生产环境,给用户使用。

Jenkins目标

是监控软件开发流程

快速显示问题

提高开发效率

过程控制

Jenkins特性

易于安装

易于配置

测试报告

文件识别

分布式构建

插件支持

任务(Job)和构建(build)

jenkins部署

基础部署

#环境
github
192.168.0.115部署jenkins
192.168.0.109充当tomcat网站服务器

1.部署git

1.安装依赖包
#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y
2.git官网下载最新版本GITR
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
3.安装git
#解压并cd到解压目录
tar xf git-2.9.5.tar.gz# cd git-2.9.5/
make prefix=/usr/local/git all
make prefix=/usr/local/git installe
#修改环境变量
vim/etc/bashrc
PATH=$PATH:$HOME/bin:/usr/local/git/bin
source /etc/bashrc
#测试git
git --version

2.jdk环境部署

1.下载软件
jdk-8u151-linux-x64.tar.gz
2.解压并安装
tar xvzf jdk-8u151-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
mv jdk1.8.0_151 jdk
3.修改环境变量
vim /etc/bashrc
JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
source /etc/bashrc
4.测试jdk
java --version

3.部署maven

1.下载和解压Maven:
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.3/binarieslapache-maven-3.5.3-bin.tar.gz
tar xvzf apache-maven-3.5.3-bin.tar.gz -C/usr/loca
mv /usr/local/apache-maven-3.5.3/ /usr/local/maven
2修改环境变量
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
source /etc/bashrc
3.测试maven
--version

4.部署tomcat

1.官网下载tomcat
apache-tomcat-9.0.1.tar.gz
2.解压部署
tar xvzf apache-tomcat-9.0.1.tar.gz -C/usr/local/
mv /usr/local/apache-tomcat-9.0.1//usr/local/tomcat
3.定义Tomcat所需环境变量
vim/etc/profile
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
source /etc/profile
4.启动tomcat
/usr/local/tomcat/bin/startup.sh
5.测试tomcate
访问http://IP:8080
6.关闭tomcat
/usr/local/tomcat/bin/shutdown.sh

5.部署Jenkins

1.官网下载jenkins:
http://updates.jenkins-ci.org/download/war/
下载最新版
⒉.部署jenkins.war到tomcat下:
cp jenkins.war /usr/local/tomcat/webapps/
3.启动tomcat注意启动tomcat会自动解压webapps下的war包
/usr/local/tomcat/bin/startup.sh
4.登陆jenkins
http://IP:8080/jenkins
#添入以下文件密码到上图页面中
cat /rootl.jenkins/secrets/ initialAdminPassword
#选择suggested的插件进行下载
安装推荐的(第一个)
#等待安装完成。
若有安装错误的,保存插件名,等会自行安装
#创建用户
自定义创建
补充:
重置jenkins
关闭tomcat
/usr/local/tomcat/bin/shutdown.sh
rm -rf /usr/local/tomcat/webappljenkins*
lrm -rf ~/.jenkins*
cp jenkins.war /usr/localtomcat/webapps/ 启动tomcat即可访问jenkins

6.管理插件

简介

我们配置的是git + maven方式的自动化部署,所以git和maven的相关插件是必须的,还有一个ssh用于机器间的文件传送

安装插件Deploytocontainer:支持自动化将代码部署到tomcat容器

系统管理-->插件管理-->可选插件-->过滤Deployto container->勾选,点击下边的按钮:直接安装,这个可能时间较久,等待即可。

Jenkins 持续集成_git

安装插件Maven Integration:jenkins利用maven编译,打包,所需插件

同第一个步骤

安装git相关3个插件

GitHub Authentication

GitHub Branch Source

GitHub Organization Folder(可能已经弃用)

安装插件:Publish Over SSH

7.检查错误配置

左侧:点击"系统管理”

1.如果有"编码问题"错误,在Tomcat->conf->server.xml文件中修改即可

2.如果有"发向代理设置有误"错误,请忽略

8.Jenkins系统设置

路径: 系统管理->(全局工具配置)Global ToolConfiguration,配置jdk,git,maven的根目

Jenkins 持续集成_maven_02

Jenkins 持续集成_maven_03

Jenkins 持续集成_tomcat_04

关于重启jenkins(略)

​http://IP/jenkins/restart​

​http://IP:8080/jenkins/exit​

​http://IP:8080/jenkins/reload​

9.SSH设置

(192.168.0.115) jinkens服务器上的maven将开发产生的*.war包。通过SSH自动推送到远程tomcat服务器上(192.168.0.109)。需要手工配置ssh key。配合自动化推送

192.168.0.115是jenkins

192.168.0.109是tomcat网站服务器,代表业务服务器

部署

1.jenkins服务器准备秘钥认证

ssh-keygen
ssh-copy-id -i 192.168.0.109 注意这里的192.168.0.109是一台tomcat网站服务器。什么都不用安装,接到代码即可。
ssh 192.168.0.109

2.在jenkins上配置ssh信息

1.复制密钥

cat .ssh/id_pub

2.在系统配置中system Configure

3.设置

Jenkins 持续集成_maven_05

10.新建任务

1.创建任务

Jenkins 持续集成_tomcat_06

2.定义名称和类型

创建一个maven项目

3.设置maven

#公有git仓库

设置描述

Jenkins 持续集成_maven_07

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

Jenkins 持续集成_maven_08

设置触发器(保持默认)

Jenkins 持续集成_git_09

设置构建(编译打包)

Jenkins 持续集成_maven_10

构建后操作

Jenkins 持续集成_git_11

Jenkins 持续集成_maven_12

说明

source file   target/*.war   构建之后,在jenkins服务器上是可以自动看到war包的。

# ls/rootl.jenkinsljobs/testjob1/builds/target/*.war

Remove prefix  自动删除路径前缀(不需要创建路径前缀)

Remote directory     # mkdir -p ljenkins/war

tomcat业务服务器上的路径,需要提前在192.168.0.109 (tomcat)上创建录。

用来存放网站源代码。(需要后台创建)

Exec command

tomcat ( 192.168.0.109)在接收到源码之后的自定义动作。

比如:将源码拷贝到网站的主目录(/jenkins),并执行一些其他操作如器等(或创建文件touch)(需要后台创建)

#mkdir /jenkins/sh

# cat ljenkins/sh/deploy.shcp -r /jenkins/war/*.war /jenkinstouch /tmplaaaaaa.txt

#chmod +x /jenkins/sh/deploy.sh

保存

11.构建任务

1.立即构建

Jenkins 持续集成_git_13

⒉.查看构建结果

在控制台输出查看

3.观察tomcat网站服务器,代码和脚本