Merge pull request #23 from tolerious/feat/reading-articles #127
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
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs | |
name: Node.js CI | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.19.0] | |
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install SSH Key | |
uses: shimataro/ssh-key-action@v2 # 使用 SSH 密钥进行身份验证 | |
with: | |
key: ${{ secrets.SSH_PRIVATE_KEY }} # 从 GitHub Secrets 中读取私钥 | |
known_hosts: ${{ secrets.KNOWN_HOSTS }} # SSH 服务器的指纹 | |
- name: Copy files to remote server | |
if: github.ref == 'refs/heads/master' | |
run: | | |
ls -alh && scp -r * [email protected]:/var/www/html/English-Burning-Backend # 复制代码到远程服务器 | |
- name: Server Shell | |
if: github.ref == 'refs/heads/master' | |
# You may pin to the exact commit or the version. | |
# uses: tzzs/server-shell@e6313d235c16b3b51c67277ba2ec70a55e43c0d6 | |
uses: tzzs/server-shell@v3 | |
with: | |
# server private key | |
PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
# server login username | |
USERNAME: ${{ secrets.SERVER_USER }} | |
# server ip | |
IP: ${{ secrets.SERVER_IP_ADDRESS }} | |
# shell to execute on server | |
SHELL: "source /etc/profile && cd /var/www/html/English-Burning-Backend/ && cp ../ecosystem.config.js . && pnpm i && pm2 restart ecosystem.config.js --env=production" |