需求:
1、 通过action把maven项目打包成jar包,发布到远程服务器,然后执行远程服务器脚本,启动jar包。
2、之前是手动打包,然后执行sh脚本,一切运行正常。
3、现在准备通过action来做这一切。遇到个问题,action打包成功,发布jar包成功,执行sh脚本成功,但是jar包没有运行成功,也没有任何报错,action包括jar包服务日志,都没任何提示。为了防止权限问题,已经把相关文件目录全都改成777权限
主要步骤如下:
1、使用action的scp把maven项目的jar包传到远程服务器,运行成功
2、使用ssh连接远程服务器,执行sh脚本
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.TEST_HOST }}
username: ${{ secrets.TEST_USERNAME }}
key: ${{ secrets.TEST_SSH_KEY }}
port: ${{ secrets.TEST_PORT }}
script: |
# 获取当前日期时间戳
TIMESTAMP=$(date +'%Y%m%d%H%M%S')
cd /java/dms/dev/
# 备份 JAR 文件并重命名为包含日期时间戳的文件
if [ -f "application-dev.jar" ]; then
cp application-dev.jar backup/application-dev-$TIMESTAMP.jar
echo "Backup JAR file to application-dev-$TIMESTAMP.jar"
else
echo "JAR file not found."
fi
cp workspace/dms-plus/application/target/application.jar application-dev.jar
rm -rf workspace
bash dms-quick.sh restart
在这个脚本中,所有的步骤都显示成功,但是jar始终没有启动成功。单独执行sh脚本又没问题