GiteaActionTest/.gitea/workflows/build-deploy.yaml
hxuanyu 52e400c6f3
Some checks failed
Build and Deploy Spring Boot / build-and-deploy (push) Failing after 34s
Add screen -ls commands to build-deploy workflow
This change adds `screen -ls` commands before and after starting the Java application to list active screen sessions, which can help in debugging and monitoring.
2024-11-04 18:46:50 +08:00

73 lines
2.5 KiB
YAML

name: Build and Deploy Spring Boot
on:
push:
branches: [ master ] # 可以根据需要修改分支名
workflow_dispatch: # 允许手动触发
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# 检出代码
- name: "拉取代码"
uses: actions/checkout@v4
# 设置JDK环境
- name: "部署jdk8"
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'adopt'
# 设置maven环境
- name: "部署maven"
uses: stCarolas/setup-maven@v4.5
with:
maven-version: '3.8.6'
# 缓存Maven依赖
- name: "设置maven缓存"
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
# 使用Maven打包
- name: "打包"
run: mvn clean package -DskipTests
# 将JAR包传输到服务器部署
- name: "推送"
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
password: ${{ secrets.SERVER_PASSWORD }}
port: ${{ secrets.SERVER_PORT }}
source: target/${{ vars.JAR_NAME }}
target: /home/tools/${{ vars.APP_NAME }}/package
# 停止原应用
- name: 停止原应用
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
password: ${{ secrets.SERVER_PASSWORD }}
port: ${{ secrets.SERVER_PORT }}
script: |
screen -list | grep -q "${{ vars.APP_NAME }}" && screen -S ${{ vars.APP_NAME }} -X quit; true
# 使用新版jar包启动应用
- name: 使用新版jar包启动应用
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
password: ${{ secrets.SERVER_PASSWORD }}
port: ${{ secrets.SERVER_PORT }}
script: |
rm -f /home/tools/${{ vars.APP_NAME }}/${{ vars.JAR_NAME }}
mv /home/tools/${{ vars.APP_NAME }}/package/target/${{ vars.JAR_NAME }} /home/tools/${{ vars.APP_NAME }}/${{ vars.JAR_NAME }}
screen -ls
screen -dmS ${{ vars.APP_NAME }} /usr/local/java/jdk1.8.0_202/bin/java -jar /home/tools/${{ vars.APP_NAME }}/${{ vars.JAR_NAME }}>/home/tools/${{ vars.APP_NAME }}/apprun.log
screen -ls