0


Jenkins+Maven+Github+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安装

​
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
  •     ![](https://i-blog.csdnimg.cn/direct/c263e4318af441fd8d4250b332756bf4.png)
    

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:- jenkins.war/- 下载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.源码管理

  • 选择版本控制器和仓库地址- 互联网仓库1- GitHub - bingyue/easy-springmvc-maven: A simple demo about how to use maven combine spring mvc,for the blog "Jenkins application" sampleA simple demo about how to use maven combine spring mvc,for the blog "Jenkins application" sample - bingyue/easy-springmvc-mavenhttps://github.com/bingyue/easy-springmvc-maven.git

如果有图中的提示,请注意你的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.查看构建结果 - 结果路径

输出信息

标签: jenkins tomcat jdk

本文转载自: https://blog.csdn.net/mufg15dfg/article/details/142327870
版权归原作者 慕雪磊 所有, 如有侵权,请联系我们删除。

“Jenkins+Maven+Github+Tomcat 自动化构建打包、部署”的评论:

还没有评论