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

  •         

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:

    • [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.查看构建结果
    • 结果路径

输出信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值