当前位置:   article > 正文

利用github actions自动部署gradle构建的springboot 项目打包的war包到tomcat服务器_github actions 启动tomcat

github actions 启动tomcat

准备工作:

  1. 一台安装好了tomcat的服务器(需要知道服务器ip地址,ssh登录用户名和密码以及端口号),如果没有装,可以看看我之前的tomcat安装教程

  2. 给项目配置服务器信息(当然如果你的项目是私有的,图方便也可以不用配置,直接写到action里也可以,只是不太安全)
    在这里插入图片描述

  3. 采用gradle 构建的springboot项目,打包方式为war,并配置打包的war包名称(方便读取)

plugins {
    id 'org.springframework.boot' version '2.4.5'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
    id 'war'
}

group = 'com.flymegoc'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

bootWar {
    archiveFileName = "app.war"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

编写actions 脚本

详细的参数可以去看看阮一峰GitHub Actions 入门教程,我这里直接贴现成的,切换到项目actions标签下,创建任意名称的yml文件,写入以下脚本信息,更改自己的项目即可

# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle

name: Java CI with Gradle #名称

on:  #触发条件
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs: #具体的任务
  build:

    runs-on: ubuntu-latest #执行的环境

    steps:
    - uses: actions/checkout@v2 #拉取项目文件
    - name: Set up JDK 8 #配置java环境
      uses: actions/setup-java@v2
      with:
        java-version: '8'
        distribution: 'adopt'
    - name: Grant execute permission for gradlew  #更改脚本权限
      run: chmod +x gradlew
    - name: Build with Gradle  #开始打包 -x test 跳过测试
      run: ./gradlew bootWar -x test
    - name: scp_upload_war_file #上传文件到服务器
      uses: garygrossgarten/github-action-scp@release
      with:
        local: 'build/libs/app.war' #打包文件的路径
        remote: '/home/app.war' #放到服务器的目录
        host: ${{ secrets.HOST }} #服务器ip地址
        username: ${{ secrets.USERNAME }} #服务器ssh用户名
        password: ${{ secrets.PASSWORD }} #服务器ssh密码
        port: ${{ secrets.PORT }} # 服务器ssh端口(默认22)
    - name: deploy_app_war #开始部署
      uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.HOST }} #服务器ip地址
        username: ${{ secrets.USERNAME }} #服务器ssh用户名
        password: ${{ secrets.PASSWORD }} #服务器ssh密码
        port: ${{ secrets.PORT }} # 服务器ssh端口(默认22)
        script: |
          systemctl stop tomcat #停止tomcat
          cd /usr/local/apache-tomcat-9.0.45/webapps/ 
          mv app.war /home/app.war.backup #备份原来的包
          rm -rf app # 删除原来的目录
          mv /home/app.war /usr/local/apache-tomcat-9.0.45/webapps/app.war #移动新包
          systemctl start tomcat #启动tomcat


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52

参考:

github Actions 完成Spring boot编译部署任务

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/540390
推荐阅读
相关标签
  

闽ICP备14008679号