Jenkins+Maven+Github+Tomcat 自动化构建打包、部署
Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。
1.Jenkins介绍
Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。就是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”(Jenkins的安装位置),进行编译、打包和发布到web容器中。
Jenkins是监控软件开发流程、快速显示问题 、提高开发效率过程控制
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的任务的一次运行。
-
2.Jenkins实战案例
1.基础环境
-
centos7
-
github,gitee,gitlab
-
192.168.229.11 部署jenkins(4\6\8G)
-
192.168.229.21充当tomcat网站服务器
-
关闭防火墙\关闭selinux\配置了yum源(base,epel 阿里源)
2.安装相关工具
-
安装相关工具
-
JDK
-
Tomcat
-
mave安装
-
部署git
-
Jenkins
-
1.mave安装
-
官网下载 maven3.8.8 包
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/source/apache-maven-3.8.8-src.tar.gz
tar -zxvf apache-maven-3.8.8-src.tar.gz -C /usr/local/
mv /usr/local/apache-maven-3.8.8/ /usr/local/maven
-
配置环境变量
-
vim /etc/profile.d/jenkins_tools.sh
-
export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
PATH=$M2:$PATH:$HOME/bin:/usr/local/git/bin
export MAVEN_HOME=/usr/local/maven
export PATH=${MAVEN_HOME}/bin:$PATH
-
生效
-
source /etc/profile.d/jenkins_tools.sh
-
-
测试
-
mvn -version
-
2.部署git
-
1.安装依赖包
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker fontconfig -y
-
2.git官网下载最新版本GIT
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
-
编译源码包,安装在/usr/local/git目录下
-
-
# make prefix=/usr/local/git install
-
源码安装
-
-
-
修改环境变量
-
# vim /etc/bashrc
-
PATH=$PATH:$HOME/bin:/usr/local/git/bin
-
更新git的路径,从用户主目录下的
bin
目录 修改到 /usr/local下面
-
-
# source /etc/bashrc
-
-
测试是否安装成功:
-
git --version
-
-
3.安装jdk、tomcat
-
1、上传 jdk11 tomcat9
-
2、解压jdk
-
[root@jenkins ~]# tar xf jdk-11.0.16_linux-x64_bin.tar.gz
-
-
3、解压tomcat
-
[root@jenkins ~]# tar xf apache-tomcat-9.0.79.tar.gz
-
-
4、拷贝并修改名称
-
[root@jenkins ~]# mv jdk-11.0.16 /usr/local/java && mv apache-tomcat-9.0.79 /usr/local/tomcat
-
-
5、处理环境变量
-
[root@jenkins ~]# vim /etc/profile.d/java.sh
-
- TOMCAT_HOME=/usr/local/tomcat
- JAVA_HOME=/usr/local/java
- PATH=$TOMCAT_HOME/bin:$JAVA_HOME/bin:$PATH
- export TOMCAT_HOME JAVA_HOME PATH
-
[root@jenkins ~]# source /etc/profile.d/java.sh
-
java -version
4.上传jenkins
-
官网下载jenkins:
-
下载2.422
-
上传至服务器
-
-
[root@jenkins ~]# rm -rf /usr/local/tomcat/webapps/*
-
[root@jenkins ~]# cp jenkins.war /usr/local/tomcat/webapps/
-
我这里用的是2.422
-
-
3.启动tomcat,并页面访问
-
[root@jenkins ~]# /usr/local/tomcat/bin/startup.sh
-
访问 ip:8080/jenkins eg: http://192.168.88.100:8080/jenkins
- 前台配置jenkins
-
加载中
-
解锁Jenkins
-
为了安全考虑,首先需要解锁Jenkins
-
添入以下文件密码到上图页面中
-
cat /root/.jenkins/secrets/initialAdminPassword
-
-
点击继续
-
选择suggested的插件进行下载
-
等待安装完成。
-
创建用户
-
用户名:mu
-
密码: xxxxxxxx
-
jenkins的分享地址
-
-
前台安装完成
1.欢迎界面
2.系统配置
-
Manage Jenkins
1.全局变量设置
2.全局工具配置
3.maven配置
-
/usr/local/maven/conf/settings.xml
选择设置系统里文件,对应就是maven文件中setting对应具体位置并将该文件路径设置成全局的下面其他工具Java等路径也是同样的
4.添加JDK工具
-
点击新增---> 取消自动安装 ---->然后查询Jenkins服务器上JDK的路径,填写JAVA_HOME ---> 保存即可
-
添加git工具
-
/usr/local/git/bin/git
-
5.添加maven工具
-
/usr/local/maven
-
点击保存
6.SSH 设置-
-
目的
-
(192.168.229.11)jinkens服务器上的maven将开发产生的*.war包。 通过SSH自动推送到远程tomcat 服务器上(192.168.229.21)。 需要手工配置ssh key。配合自动化推送
-
192.168.88.100是jenkins
-
192.168.88.101是tomcat网站服务器,代表业务服务器
-
1.jenkins服务器准备秘钥认证
-
# ssh-keygen
-
一路回车
-
-
# ssh-copy-id -i 192.168.88.101上面安装是在104机器上
-
注意这里的192.168.88.101是一台tomcat网站服务器。什么都不用安装,接到代码即可。
-
-
#ssh 192.168.88.103 登录不需要密码即可
-
-
# exit 切记测试远程登录后退出!!
-
-
-
.在jenkins上配置ssh信息
-
准备SSH私钥
-
[root@localhost ~]# ip a | grep inet
- inet 192.168.229.11/24 brd 192.168.0.255 scope global dynamic ens32
-
[root@localhost ~]# cat ~/.ssh/id_rsa
3.安装插件
-
(1)Maven Integration plugin 安装此插件才能构建maven项
-
(2)Deploy to container Plugin 安装此插件,才能将打好的包部署到tomcat上
-
(3) 安装git相关3个插件
-
安装过程同第一个插件:
-
GitHub Authentication
-
GitHub Branch Source
-
默认已安装
-
-
GitHub Organization Folder
-
淘汰了。不用安装这个插件了
-
-
-
-
(4)安装插件:Publish Over SSH
回到上面。系统配置刚才给你加!!!的地方,
4.配置ssh的秘钥
-
复制cat出来的所有内容,粘贴到下一步页面上的key中。
-
进入jenkins系统设置
- 粘贴到jenkins
4.Jenkins+Maven+Github+Tomcat 自动化构建打包、部署
- 创建一个Maven工程
- 1.构建maven项目
2.源码管理
如果有图中的提示,请注意你的git工具在jenkins中是否配置正确
选择git添加远程仓库项目网址 操作对方master分支下项目(默认都是) 触发器是默认
如果是私有仓库,这里需要建立credentials身份认证
3.设置触发器(保持默认)
4.设置构建(编译打包)
-
手动添加Goals and options
-
clean package -Dmaven.test.skip=true 跳过测试东西(maven没有也可跳过)
-
5.构建后操作
-
在构建后设置中 选择:(send build artifacts over ssh)通过SSH发送构建工件
-
图示
-
点击-》增加构建后操作 项目部署完后,接着操作远程服务器tomcat
-
说明
-
name
-
ssh server 因为之前的配置会默认出现tomcat业务服务器的名字
-
-
source file
-
target/*.war 该服务器会得到.war包
-
构建之后,在jenkins服务器上是可以自动看到war包的。(该路径不需要创建) # ls /root/.jenkins/jobs/testjob1/builds/target/*.war
-
-
Remove prefix
-
自动删除路径前缀target(不需要创建路径前缀)
-
-
Remote directory 将上面.war包放到tomcat服务器设置目录下
tomcat业务服务器上的路径,需要提前在192.168.229.21(tomcat)上创建该目录。 用来存放网站源代码。(需要后台创建)
mkdir -p /jenkins/war
tomcat(192.168.229.21)在接收到源码之后的自定义动作。比如:将源码拷贝到网站的主目录(/jenkins),并执行一些其他操作如重启服务器等(或创建文件touch)(需要后台创建)
mkdir /jenkins/sh
cat /jenkins/sh/deploy.sh
cp -r /jenkins/war/*.war /jenkinstouch /tmp/aaaaaa.txt
chmod +x /jenkins/sh/deploy.sh
保存即可
6.保存
执行构建
- 2.查看构建结果
- 结果路径
输出信息
更多推荐
所有评论(0)