fix: local run prod success #19
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: deploy pvp-texas-porker-node-serve | |
on: | |
push: | |
branches: | |
- "master" # 针对 main 分支 | |
paths: | |
- ".github/workflows/*" | |
- "src/**" | |
- "bin/*" | |
- "controller/**" | |
- "database/**" | |
- "routes/**" | |
- "types/**" | |
- "utils/**" | |
- "views/**" | |
- "package.json" | |
- "ecosystem.config.js" | |
- ".env" | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: 拉取项目代码 | |
uses: actions/checkout@v3 | |
with: | |
path: "clone-files" | |
- name: 设置 id_rsa | |
run: | | |
mkdir -p ~/.ssh/ | |
echo "${{secrets.VORTESNAIL_ID_RSA}}" > ~/.ssh/id_rsa | |
chmod 600 ~/.ssh/id_rsa | |
ssh-keyscan ${{secrets.REMOTE_HOST}} >> ~/.ssh/known_hosts | |
cat ~/.ssh/known_hosts | |
- name: 将远程服务器的对应目录下所有文件及文件夹删除 | |
run: | # /www/wwwroot/pvp-texas-porker-node-serve | |
ssh root@${{secrets.REMOTE_HOST}} " | |
cd ${{secrets.REMOTE_SERVER_DIR}}; | |
pm2 kill; | |
rm -rf ./*; | |
" | |
- name: 将项目复制到远程服务器对应目录 | |
run: | | |
rsync -avz --exclude=".git" --exclude="node_modules" clone-files/ root@${{secrets.REMOTE_HOST}}:${{secrets.REMOTE_SERVER_DIR}} | |
ls -a | |
- name: 启动 pm2 | |
run: | | |
ssh root@${{secrets.REMOTE_HOST}} " | |
cd ${{secrets.REMOTE_SERVER_DIR}}; | |
ls -a; | |
nvm use 16.14.2 | |
npm install -g pnpm | |
pnpm install | |
pnpm run prod | |
" | |
- name: 删除 id_rsa | |
run: rm -rf ~/.ssh/id_rsa |