当前位置:   article > 正文

使用Github-Action持续部署Springboot或vue_github actions runs-on 指定标签

github actions runs-on 指定标签

GitHub Actions 是 GitHub 提供的一项持续集成 (CI) 和持续部署 (CD) 服务。它允许你在代码仓库中定义和运行自动化的工作流程,以响应存储库中的事件或调度。GitHub Actions 可以用于构建、测试、打包和部署项目,也可以执行其他自动化任务。

详细github action相关信息请看最底部

第一步需要先配置secrets,保证我们的服务器信息不暴露

GitHub Actions 中的 secrets 和 variables 都是用于存储和访问敏感信息或配置的机制

image-20240111105350117

因为我的服务器用的宝塔面板环境,加上构建出来的包和文件并不是很大,所以使用的方式是先在github action的环境构建打包,然后将包发送到目标服务器。你也可以在github action里让目标服务器执行命令去做git,构建,部署,启动等等相关的

Springboot

name: Java CI with Maven

on:
  push:
    branches: [ "master" ]
jobs:
  build:
    runs-on: ubuntu-latest
    
    steps:
    - uses: actions/checkout@v3
    - name: Set up JDK 17
      uses: actions/setup-java@v3
      with:
        java-version: '17'
        distribution: 'temurin'
        cache: maven
    - name: Build with Maven
      run: mvn -B package --file pom.xml

    - name: copy jar
      uses: cross-the-world/ssh-scp-ssh-pipelines@latest
      with:
        host: ${{ secrets.HOST }}
        user: ${{ secrets.USERNAME }}
        pass: ${{ secrets.PASSWORD }}
        port: 22
        scp: |
          ./target/springboot.jar => /home/
        last_ssh: |
          JAR_NAME="springboot.jar"; PID=$(ps aux | grep "$JAR_NAME" | grep -v grep | awk '{print $2}'); if [ -n "$PID" ]; then kill -9 $PID && echo "进程 $PID 已被杀死"; else echo "未找到与 $JAR_NAME 相关的进程"; fi
          /usr/bin/java -jar -Xmx1024M -Xms256M  /home/springboot.jar &
  • 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

Vue

name: Deploy to Server
on:
  push:
    branches: [ "master" ]
jobs:
  deploy:
    runs-on: ubuntu-latest 

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 16

      - name: Install dependencies
        run: yarn 

      - name: Build project
        run: yarn generate 
      - name: zip dist
        run: zip -r dist.zip dist/

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