赞
踩
GitHub Actions 是 GitHub 提供的一项持续集成 (CI) 和持续部署 (CD) 服务。它允许你在代码仓库中定义和运行自动化的工作流程,以响应存储库中的事件或调度。GitHub Actions 可以用于构建、测试、打包和部署项目,也可以执行其他自动化任务。
详细github action相关信息请看最底部
第一步需要先配置secrets,保证我们的服务器信息不暴露
GitHub Actions 中的 secrets 和 variables 都是用于存储和访问敏感信息或配置的机制
因为我的服务器用的宝塔面板环境,加上构建出来的包和文件并不是很大,所以使用的方式是先在github action的环境构建打包,然后将包发送到目标服务器。你也可以在github action里让目标服务器执行命令去做git,构建,部署,启动等等相关的
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 &
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。