tomcat和Jenkins

本文介绍了如何在Linux环境下安装Java和Tomcat,详细解析了Tomcat的部署步骤,包括解决查看状态和Host被挡的问题。还探讨了Maven、Ant和Gradle作为打包工具的作用和优势。接着,通过Jenkins进行Java项目的自动化打包和发布,讲解了手动配置和网页配置两种方式,并给出主机间文件传输和项目验证的实践操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 tomcat项目部署

1 java环境安装

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2495  100  2495    0     0   6618      0 --:--:-- --:--:-- --:--:--  6618
[root@localhost yum.repos.d]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@localhost yum.repos.d]# ls
CentOS-Base.repo
[root@localhost yum.repos.d]# yum clean all
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

0 files removed
[root@localhost yum.repos.d]# cd
[root@localhost ~]# yum -y install java-17-openjdk*
[root@localhost ~]# java -version
openjdk version "17.0.1" 2021-10-19 LTS
OpenJDK Runtime Environment 21.9 (build 17.0.1+12-LTS)
OpenJDK 64-Bit Server VM 21.9 (build 17.0.1+12-LTS, mixed mode, sharing)

 2 tomcat部署

官网下载tomcat

//下载tomcat
[root@localhost ~]# cd /usr/src
[root@localhost src]# ls
debug  kernels
[root@localhost src]# wget http://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
[root@localhost src]# ls
apache-tomcat-9.0.65.tar.gz  debug  kernels

//解压部署
[root@localhost src]# tar xf apache-tomcat-9.0.65.tar.gz -C /usr/local/
[root@localhost src]# cd /usr/local/
[root@localhost local]# ls
apache-tomcat-9.0.65  etc    include  lib64    sbin   src
bin                   games  lib      libexec  share
[root@localhost local]# mv apache-tomcat-9.0.65 tomcat
[root@localhost local]# ls
bin  etc  games  include  lib  lib64  libexec  sbin  share  src  tomcat
[root@localhost local]# cd tomcat/
[root@localhost tomcat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@localhost tomcat]# cd webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@localhost webapps]# mkdir test
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  test
[root@localhost webapps]# cd test/
[root@localhost test]# ls
[root@localhost test]# vim index.jsp
[root@localhost test]# cat index.jsp 
<html>
<head>
<title>runtime</title>
</head>
<body>
    <%
        out.println("hello world");
    %>
</body>
</html>

//启动
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@localhost ~]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port  Process  
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              
LISTEN  0       100                       *:8080              *:*              
LISTEN  0       128                    [::]:22             [::]:*              
[root@localhost ~]# ps -ef|grep tomcat
root       11105       1  7 21:23 pts/0    00:00:01 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       11149    1674  0 21:23 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# 

//关闭防火墙
[root@localhost ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config 

 

    <!--        //删掉这行
    <Connector protocol="AJP/1.3"
               address="::1"
               port="8009"
               redirectPort="8443" />
    -->        //这行也删掉
[root@localhost ~]# cd /usr/local/tomcat/
[root@localhost tomcat]# ls 
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@localhost tomcat]# ls conf/
Catalina             jaspic-providers.xml  tomcat-users.xml
catalina.policy      jaspic-providers.xsd  tomcat-users.xsd
catalina.properties  logging.properties    web.xml
context.xml          server.xml
[root@localhost tomcat]# vim conf/server.xml 
    <Connector protocol="AJP/1.3"
               address="::1"
               port="8009"
               redirectPort="8443" />

//使其生效,在停止进程时要ps -ef查看进程有没有停掉。可能会出现假死,出现假死就pkill
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
[root@localhost ~]# ss -antl
State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  Process  
LISTEN  0        128              0.0.0.0:22            0.0.0.0:*              
LISTEN  0        128                 [::]:22               [::]:*              
[root@localhost ~]# ps -ef | grep tomcat
root       11244    1674  0 21:32 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# 

//启动
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@localhost ~]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port  Process  
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              
LISTEN  0       100                   [::1]:8009           [::]:*              
LISTEN  0       100                       *:8080              *:*              
LISTEN  0       128                    [::]:22             [::]:*              
[root@localhost ~]# ps -ef | grep tomcat
root       11258       1 34 21:33 pts/0    00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       11297    1674  0 21:34 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# 


#如果部署两个tomcat就需要更改端口号,别的不需要改

示例

 查看状态被挡

[root@localhost ~]# cd /usr/local/tomcat/conf/
[root@localhost conf]# ls
Catalina             jaspic-providers.xml  tomcat-users.xml
catalina.policy      jaspic-providers.xsd  tomcat-users.xsd
catalina.properties  logging.properties    web.xml
context.xml          server.xml
[root@localhost conf]# vim tomcat-users.xml

//重新启动
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
[root@localhost ~]# ss -antl
State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  Process  
LISTEN  0        128              0.0.0.0:22            0.0.0.0:*              
LISTEN  0        128                 [::]:22               [::]:*              
[root@localhost ~]# ps -ef | grep tomcat
root       11348    1674  0 21:47 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@localhost ~]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port  Process  
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              
LISTEN  0       100                   [::1]:8009           [::]:*              
LISTEN  0       100                       *:8080              *:*              
LISTEN  0       128                    [::]:22             [::]:*              
[root@localhost ~]# ps -ef | grep tomcat
root       11362       1 50 21:48 pts/0    00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       11401    1674  0 21:48 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# 
[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  test
[root@localhost webapps]# cd manager/
[root@localhost manager]# ls
css  images  index.jsp  META-INF  status.xsd  WEB-INF  xform.xsl
[root@localhost manager]# ls META-INF/
context.xml
[root@localhost manager]# vim META-INF/context.xml 

<Context antiResourceLocking="false" privileged="true" >
  <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
                   sameSiteCookies="strict" />
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192\.168\.2\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />   //用自己的网段
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

 

查看host被挡

 [root@localhost ~]# vim /usr/local/tomcat/conf/tomcat-users.xml

//重新启动
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
[root@localhost ~]# ss -antl
State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  Process  
LISTEN  0        128              0.0.0.0:22            0.0.0.0:*              
LISTEN  0        128                 [::]:22               [::]:*              
[root@localhost ~]# ps -ef | grep tomcat
root       11478    1674  0 22:04 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@localhost ~]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port  Process  
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              
LISTEN  0       100                   [::1]:8009           [::]:*              
LISTEN  0       100                       *:8080              *:*              
LISTEN  0       128                    [::]:22             [::]:*              
[root@localhost ~]# ps -ef | grep tomcat
root       11492       1 41 22:04 pts/0    00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       11531    1674  0 22:04 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# 

 [root@localhost ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml 

程序打包的工具:(版本号要跟开发人员用的打包工具版本一致)

  •      maven
  •      ant
  •      gradle

manven
简介:
Maven是一个跨平台的项目管理工具,是Apache组织中的一个颇为成功的开源项目。Maven主要服务基于java的项目构建,项目信息管理和依赖管理。
作用:

  1. 1.Maven可以创建项目。
  2. 2.Maven可以引入依赖的jar包。

ant
简介:
Ant是一个将软件编译、测试、部署等步骤联系在一起的自动化工具,Ant的主要用途是构建Java应用程序。
Ant提供了许多内置的任务,可以编译、组装、测试和运行Java应用程序。Ant还可以有效地用于构建非Java应用程序,例如C或C++应用程序。
优点:
Ant主要有以下优点:

  1. 跨平台。Ant是纯Java语言编写的,所以具有很好的跨平台性。
  2. 操作简单。Ant由一个内置任务和可选任务组成,运行时需要一个XML文件(构建文件)。
  3. 易维护集成。构建文件是XML格式的文件,结构清晰易于维护,由于跨平台和操作简单,很容易集成到开发环境中。

gradle
简介:
Gradle 就是一个自动化构建项目的工具,用来帮助我们自动构建项目。就像我们在写 Java 项目的时候,如果没有构建工具,我们需要先执行 javac 命令先将 Java 源码编译成 class 文件,然后再执行 jar 命令再把 class 文件打成 jar 包。有了构建工具我们只需要点一个按钮就可以了。
 

3.通过tomcat发布

Jenkins(一种流程控制的软件,用来发布Java语言写的代码)

内存给大一点

[root@localhost ~]# ls
anaconda-ks.cfg  jenkins.war
[root@localhost ~]# cp jenkins.war /usr/local/tomcat/webapps/

//重新启动tomcat
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
[root@localhost ~]# ss -antl
State   Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  Process  
LISTEN  0        128              0.0.0.0:22            0.0.0.0:*              
LISTEN  0        128                 [::]:22               [::]:*              
[root@localhost ~]# ps -ef | grep tomcat
root       11652    1674  0 22:19 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.          
[root@localhost ~]# ps -ef | grep tomcat
root       11666       1 99 22:20 pts/0    00:00:08 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       11724    1674  0 22:20 pts/0    00:00:00 grep --color=auto tomcat
[root@localhost ~]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port  Process  
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*              
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*              
LISTEN  0       100                   [::1]:8009           [::]:*              
LISTEN  0       100                       *:8080              *:*              
LISTEN  0       128                    [::]:22             [::]:*              

//自动解压了
[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  jenkins  jenkins.war  manager  ROOT  test

[root@localhost webapps]# cd jenkins
[root@localhost jenkins]# cat /root/.jenkins/secrets/initialAdminPassword
a6319e3e7ae94c9080f0a6bedc82fc0b

 系统管理的应用

Jenkins打包和发布(示例)

主机系统平台IP
1centos8/redhat8192.168.2.131
2centos8/redhat8192.168.2.129


在1 主机打完包之后使用 scp 传送到 2

主机1 跑Tomcat 跟Jenkins ,主机2 跑Tomcat。

在主机1 打包完之后再传到 主机2 ,然后使用主机 2 的IP加端口访问是否能访问到。

手动配置的方式:

#192.168.2.131——主机1上操作
#首先先用命令行的方式进行打包看是否能打包,再用Jenkins 的方式打包。
//下载 git 命令
[root@localhost ~]# yum -y install git

//使用git 命令拉取下来 , 如果是私有的就需要登录账号跟密码,才能拉取
[root@localhost ~]# git clone https://gitee.com/wukongcrm/72crm-java.git
[root@localhost ~]# ls
72crm-java  anaconda-ks.cfg  
[root@localhost ~]# cd 72crm-java/
[root@localhost 72crm-java]# ls
72crm.bat  Dockerfile  LICENSE.txt  pom.xml    src     ux
72crm.sh   docs        package.xml  README.md  

//打包
[root@localhost 72crm-java]# yum -y install maven
[root@localhost 72crm-java]# mvn clean package -Dmaven.test.skip=true

//打包完成后看到target这个包
[root@localhost 72crm-java]# ls
72crm.bat  Dockerfile  LICENSE.txt  pom.xml    src     ux
72crm.sh   docs        package.xml  README.md  target
[root@localhost 72crm-java]# cd target/
[root@localhost target]# ls
archive-tmp  generated-sources   ly-simple-tomcat-0.0.1-SNAPSHOT  
ly-simple-tomcat-0.0.1-SNAPSHOT.war maven-status
classes      maven-archiver     ROOT.jar

//使用 scp 命令传到 2 主机的 /usr/local/tomcat/webapps 的下面
[root@localhost target]# scp ly-simple-tomcat-0.0.1-SNAPSHOT.war root@192.168.2.129:/usr/local/tomcat/webapps/

//设置免密登录
[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Gy5a/XPsjBCOipQnI25IbAiproNG0yahSkSHEICDSzI root@localhost
The key's randomart image is:
+---[RSA 3072]----+
|O..              |
|E+ .             |
|+=.              |
|+o               |
|B o     S        |
|+O +   = +       |
|@ O . + *  .     |
|** = + . o.oo    |
|=o. o     o+o    |
+----[SHA256]-----+
[root@localhost ~]# ssh-copy-id root@192.168.2.129

##在 主机2 上查看
[root@localhost webapps]# pwd
/usr/local/tomcat/webapps
[root@localhost webapps]# ls
ly-simple-tomcat-0.0.1-SNAPSHOT  ly-simple-tomcat-0.0.1-SNAPSHOT.war

网页配置的方式:

用主机1的IP访问,使用 Jenkins 操作创建一个项目

#脚本内容
pipeline {
    agent any 
    stages {
        stage("pull code"){
            steps {
                git 'https://gitee.com/wukongcrm/72crm-java.git' 
            }
        }    
        stage("make pkg"){
            steps {
                sh """
                    mvn clean package -Dmaven.test.skip=true
                """
            }
        }  
        stage(publish){
            steps{
                sh """
                    scp target/ly-simple-tomcat-0.0.1-SNAPSHOT.war root@192.168.2.129:/usr/local/tomcat/webapps/
                    ssh root@192.168.2.129 '/usr/local/tomcat/bin/catalina.sh stop && /usr/local/tomcat/bin/catalina.sh start'
                """
            }
        }
    }
}

注意:在执行之前需要设置免密登录

 成功后用主机2的IP访问查看是否有网页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值