Jenkins+GitLab+Nexus构建Spring-Boot项目到远程Linux服务器

安装Tomcat

  • 上传apache-tomcat-8.5.53.tar.gz到安装tomcat的服务器上解压

    tar -zxvf apache-tomcat-8.5.53.tar.gz
    

    解压到 /usr/local/tomcat/apache-tomcat-8.5.53目录下

  • 修改/usr/local/tomcat/apache-tomcat-8.5.53/tomcat-users.xml文件,添加用户和密码

    这里我写的是root,这个用户是可以随便写的

    <tomcat-users xmlns="http://tomcat.apache.org/xml"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
                  version="1.0">
    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-status"/>
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <user username="root" password="123456" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
    </tomcat-users>
    
  • 修改/usr/local/tomcat/apache-tomcat-8.5.53/server.xml文件,添加项目

    这里是可以添加多个的

    <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
          <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
           
           <Context docBase="admin-service" path="/admin-service" reloadable="true"/>
    	   <Context docBase="user-login" path="/user-login" reloadable="true"/>
          </Host>
    
  • 在Tomcat conf/Catalina/localhost目录下创建一个manager.xml文件,允许远程访问manager站点:(踩坑提示:此步骤是Tomcat 8.5中特有的,如果不配置的话总是遇到异常:Server returned HTTP response code: 403 for URL: http://test.mest.my:8080//manager/text/list)

    vim manager.xml

    <Context privileged="true" antiResourceLocking="false">
              <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
    </Context>
    

配置Jenkins服务器的环境变量

  • 配置jdk,上传linux版本的jdk压缩包解压到该目录

在这里插入图片描述

  • 配置git

在这里插入图片描述

如果执行该命令不显示git执行文件路径,那么就在线安装git

apt install git

  • 配置mavan,上传linux版本的mavan解压到该目录

    maven的settings.xml配置文件使用nexus的私服配置

在这里插入图片描述

  • 配置JDK和MAVEN环境变量

    vim /etc/profile
    # 在文件末尾添加如下内容,保存
    export JAVA_HOME=/usr/local/java/jdk1.8.0_231
    export MAVEN_HOME=/usr/local/maven
    export JRE_HOME=/usr/local/java/jdk1.8.0_231/jre
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$PATH:$HOME/bin
    
  • 刷新环境变量,让修改后的文件生效

    source /etc/profile

Jenkins中下载需要的插件

  • 安装maven插件

在这里插入图片描述

在这里插入图片描述

  • 安装 Deploy to container Plugin

    该插件主要运用在Java项目中,功能是“将成功编译的War/Jar包部署到远程的应用服务器上

在这里插入图片描述

Jenkins全局工具配置

Jenkins中配置JDK

  • 在这里插入图片描述

  • 在这里插入图片描述

Jenkins中配置Git

在这里插入图片描述

Jenkins中配置Maven

在这里插入图片描述

Jenkins中构建Maven工程

创建一个maven项目

在这里插入图片描述

连接git仓库

用户和密码是gitlab中的用户名和密码

在这里插入图片描述

Maven构建命令

clean install -Dmaven.test.skip=true

在这里插入图片描述

构建后操作发送到远端tomcat服务器中

此处的用户名和密码和远程tomcat中的tomcat-users.xml的用户和密码对应

在这里插入图片描述

查看构建日志和访问tomcat

在这里插入图片描述
在这里插入图片描述

Jenkins构建Spring-Boot项目的jar包部署到远程服务器上

安装Publish Over SSH插件

在这里插入图片描述

系统配置

在这里插入图片描述

在这里插入图片描述

具体项目构建设置

  • 在远端服务器tomcat上创建文件目录

    mkdir -p /usr/local/spring-boot/admin-service/admin-service-jar

    cd /usr/local/spring-boot/admin-service
    
    vim start.sh
    #!/bin/bash
    #必须要定义一下JAVA_HOME不然下面的java找不到,导致不执行
    export JAVA_HOME=/usr/local/java/jdk1.8.0_231
    echo ${JAVA_HOME}
    chmod 777 /usr/local/spring-boot/admin-service/admin-service-jar/admin-service-1.0.0-SNAPSHOT.jar
    echo "执行...."
    cd /usr/local/spring-boot/admin-service/admin-service-jar
    nohup ${JAVA_HOME}/bin/java -jar admin-service-1.0.0-SNAPSHOT.jar > /dev/null &
    echo "启动成功"
    
    vim stop.sh
    #!/bin/bash
    echo "stop SpringBoot admin-service"
    pid=`ps -ef | grep admin-service-1.0.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
    echo "旧应用进程id:$pid"
    if [ -n "$pid" ]
    then
    	kill -9 $pid
    fi
    
    

在这里插入图片描述

构建访问部署的项目

在这里插入图片描述
在这里插入图片描述

Jenkins构建Spring-Boot项目的war包部署到远程服务器上无法访问的解决问题

  • 在启动类中添加启动配置类

    @SpringBootApplication
    public class ProviderAdminApplication extends SpringBootServletInitializer {
        public static void main(String[] args) {
            SpringApplication.run(ProviderAdminApplication.class, args);
        }
    
        /**
         *新增此方法
         */
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            // 注意这里要指向原先用main方法执行的Application启动类
            return builder.sources(ProviderAdminApplication .class);
        }
    
    }
    

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值