0


GitLab + Jenkins + Maven + Tomcat 实现自动集成、打包、部署

GitLab + Jenkins + Maven + Tomcat 实现自动集成、打包、部署

一、安装 Tomcat 服务

1.安装 JDK

  • JDK 下载地址:传送门(需要创建 Oracle 账号)
[root@Tomcat ~]#lsanaconda-ks.cfgjdk-8u181-linux-x64.tar.gz[root@Tomcat ~]#tarzxfjdk-8u181-linux-x64.tar.gz[root@Tomcat ~]#lsanaconda-ks.cfgjdk-8u181-linux-x64.tar.gzjdk1.8.0_181[root@Tomcat ~]#mvjdk1.8.0_181//usr/local/java[root@Tomcat ~]#cat<<END>>/etc/profileexportJAVA_HOME=/usr/local/javaexportPATH=$PATH:"$JAVA_HOME/bin"END[root@Tomcat ~]#source/etc/profile[root@Tomcat ~]#java-version

2.安装 Tomcat

[root@Tomcat ~]#wgethttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz[root@Tomcat ~]#lsanaconda-ks.cfgapache-tomcat-8.5.32.tar.gzjdk-8u181-linux-x64.tar.gz[root@Tomcat ~]#tarzxfapache-tomcat-8.5.32.tar.gz[root@Tomcat ~]#lsanaconda-ks.cfgapache-tomcat-8.5.32.tar.gzapache-tomcat-8.5.32jdk-8u181-linux-x64.tar.gz[root@Tomcat ~]#mvapache-tomcat-8.5.32/usr/local/tomcat

在 Tomcat 服务器上配置(优化执行路径)

[root@Tomcat ~]#sed-i'/#!\/bin\/sh/aJAVA_HOME="/usr/local/java"'/usr/local/tomcat/bin/catalina.sh[root@Tomcat ~]#sed-i'/#!\/bin\/sh/aJRE_HOME="/usr/local/java/jre"'/usr/local/tomcat/bin/catalina.sh

启动 Tomcat

[root@Tomcat ~]#/usr/local/tomcat/bin/startup.sh#启动Tomcat服务[root@Tomcat ~]#netstat-nlpt|grep8080#查看端口是否开启

在这里插入图片描述

二、在 Jenkins 上安装 Maven

我们这里主要就是使用 Maven 来将开发写的 Java 代码,打包成

war

包后,来使用 Jenkins 将打包好的

war

包,部署到 Tomcat 上,来完成简单的版本迭代;像一些在云上的项目,基本上都在用云效(云版 Jenkins)


  • GitLab 和 Jenkins 安装教程:传送门

1.安装 Maven

我们可以将 Maven 安装在 Jenkins 的服务器上:

[root@Jenkins ~]#wgethttps://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz[root@Jenkins ~]#tarxfapache-maven-3.5.4-bin.tar.gz[root@Jenkins ~]#mvapache-maven-3.5.4/usr/local/maven[root@Jenkins ~]#ln-s/usr/local/maven/bin/mvn/usr/bin/

1)配置 Maven 的环境变量

[root@Jenkins ~]#echo"export MAVEN_HOME=/usr/local/maven">>/etc/profile[root@Jenkins ~]#echo"export PATH=$PATH:$MAVEN_HOME/bin">>/etc/profile[root@Jenkins ~]#source/etc/profile

2)在 Maven 上配置阿里云加速

[root@Jenkins ~]#vim/usr/local/maven/conf/settings.xml157</mirror>158-->159<mirror>160<id>aliyunmaven</id>161<name>aliyun</name>162<url>http://maven.aliyun.com/nexus/content/groups/public/</url>163<mirrorOf>central</mirrorOf>164</mirror>165</mirrors>

2.创建 Jenkins 任务

1)创建 Jenkins 任务前,需要安装以下插件:

GitpluginMavenReleasePlug-in

2)进入配置阶段
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3)开始新建一个 Jenkins 任务
在这里插入图片描述
General
在这里插入图片描述
源码管理
在这里插入图片描述
在这里插入图片描述
Build
在这里插入图片描述
4)编写脚本

[root@Jenkins ~]#vimtomcat_update.sh#!/bin/bashscp/var/lib/jenkins/workspace/tomcat/gameoflife-web/target/*[email protected]:/usr/local/tomcat/webapps/[email protected]"/usr/local/tomcat/bin/shutdown.sh"[email protected]"/usr/local/tomcat/bin/startup.sh"

5)将代码上传到 GitLab 远程仓库中

[root@Jenkins ~]#[email protected]:ZhangSan/test.git[root@Jenkins ~]#[email protected]:wakaleo/game-of-life.git#克隆GitHub上的代码[root@Jenkins ~]#cdtest/[root@Jenkins test]#gitrm-rf*#删除原有仓库上的代码(生产环境需慎重考虑)[root@Jenkins test]#mv../game-of-life/*.#将克隆过来的代码移动到当前目录[root@Jenkins test]#gitadd.#上传到暂存区[root@Jenkins test]#gitcommit-m'This is Tomcat of Test'#将暂存区代码上传到本地仓库[root@Jenkins test]#gitpushoriginmaster#将本地仓库上传到远程仓库
  • 当克隆 GitHub 上代码出现:Permission denied (publickey). 时,我们只将公钥上传到 GitHub 上即可。

6)在 Jenkins 构建 Tomcat 项目
在这里插入图片描述
问题(1):如果在构建时出现如下错误,原因是因为没有配置密钥对。

Permissiondenied,pleasetryagain.Permissiondenied,pleasetryagain.Permissiondenied(publickey,gssapi-keyex,gssapi-with-mic,password).

配置 SSH 密钥对

[root@Jenkins ~]#ssh-keygen-trsa#创建密钥对(三连回车即可)[root@Jenkins ~]#[email protected]

问题(2):如果在构建时出现如下错误,原因是因为没有优化执行路径。

NeithertheJAVA_HOMEnortheJRE_HOMEenvironmentvariableisdefinedAtleastoneoftheseenvironmentvariableisneededtorunthisprogramNeithertheJAVA_HOMEnortheJRE_HOMEenvironmentvariableisdefinedAtleastoneoftheseenvironmentvariableisneededtorunthisprogram

在 Tomcat 服务器上配置

[root@Tomcat ~]#sed-i'/#!\/bin\/sh/aJAVA_HOME="/usr/local/java"'/usr/local/tomcat/bin/catalina.sh[root@Tomcat ~]#sed-i'/#!\/bin\/sh/aJRE_HOME="/usr/local/java/jre"'/usr/local/tomcat/bin/catalina.sh

3.验证

访问:

192.168.1.3:8080/gameoflife/

在这里插入图片描述

标签: jenkins maven tomcat

本文转载自: https://blog.csdn.net/weixin_46902396/article/details/118388909
版权归原作者 愿许浪尽天涯 所有, 如有侵权,请联系我们删除。

“GitLab + Jenkins + Maven + Tomcat 实现自动集成、打包、部署”的评论:

还没有评论