Files
ao3-mirror-ssr/.gitea/workflows/ci.yml
UnknownMp 2f6b3524c4
All checks were successful
Node.js CI / build-and-test (push) Successful in 30s
优化产物上传
2025-05-02 16:52:31 +08:00

63 lines
1.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Node.js CI
on:
push:
tags:
- 'v*' # 匹配所有 tag也可改为 v* 等更具体的匹配)
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: 检出代码
uses: actions/checkout@v3
- name: 设置 Node.js
uses: actions/setup-node@v3
with:
node-version: '22'
- name: 缓存 npm 模块
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-npm-
- name: 安装依赖
run: npm install --force
- name: 构建项目(可选)
run: npm run build
- name: 打包构建产物
run: |
mkdir -p build-out
cp -r dist build-out/
cp -r public build-out/
cp server.js index.html package.json build-out/
zip -r output.zip build-out
- name: 设置 SSH 私钥
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
echo "Host *" > ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
echo " UserKnownHostsFile=/dev/null" >> ~/.ssh/config
- name: 获取 Tag 名称
id: extract_tag
run: echo "tag=${GITHUB_REF##*/}" >> $GITHUB_OUTPUT
- name: 上传产物到远程服务器
run: |
TAG=${{ steps.extract_tag.outputs.tag }}
scp output.zip default@10.0.0.3:/srv/publish/ao3-mirror-ssr/${TAG}.zip
ssh default@10.0.0.3 sh -c 'cd /srv/publish/ao3-mirror-ssr/; rm -f latest.zip; ln -s ${TAG}.zip latest.zip'