06d22884b9
部署到群晖 / deploy (push) Successful in 34s
runner 容器内 mkdir 创建的是容器路径,不是宿主上的真实路径。 改成通过已构建好的 birthday-server 镜像挂宿主 /volume1 来 mkdir。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
57 lines
2.0 KiB
YAML
57 lines
2.0 KiB
YAML
name: 部署到群晖
|
|
|
|
on:
|
|
push:
|
|
branches: [main, master]
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 安装 Docker CLI
|
|
run: |
|
|
sed -i 's|deb.debian.org|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list /etc/apt/sources.list.d/*.list 2>/dev/null || true
|
|
sed -i 's|security.debian.org|mirrors.tuna.tsinghua.edu.cn/debian-security|g' /etc/apt/sources.list /etc/apt/sources.list.d/*.list 2>/dev/null || true
|
|
apt-get update -qq
|
|
apt-get install -y -qq docker.io
|
|
|
|
- name: 拉取代码
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 构建镜像
|
|
run: docker build -t birthday-server:latest ./server
|
|
|
|
- name: 停止旧容器
|
|
run: |
|
|
docker stop birthday-server 2>/dev/null || true
|
|
docker rm birthday-server 2>/dev/null || true
|
|
|
|
- name: 准备持久化目录(在宿主上创建)
|
|
run: |
|
|
docker run --rm -v /volume1/docker/apps:/apps birthday-server:latest \
|
|
mkdir -p /apps/birthday-server/data
|
|
|
|
- name: 启动新容器
|
|
env:
|
|
WX_APPID: ${{ secrets.WX_APPID }}
|
|
WX_APPSECRET: ${{ secrets.WX_APPSECRET }}
|
|
WX_TEMPLATE_ID: ${{ secrets.WX_TEMPLATE_ID }}
|
|
WX_MINIPROGRAM_STATE: ${{ secrets.WX_MINIPROGRAM_STATE }}
|
|
REMINDER_CRON: ${{ secrets.REMINDER_CRON }}
|
|
run: |
|
|
docker run -d \
|
|
--name birthday-server \
|
|
--restart unless-stopped \
|
|
-p 15002:3000 \
|
|
-v /volume1/docker/apps/birthday-server/data:/app/data \
|
|
-e TZ=Asia/Shanghai \
|
|
-e WX_APPID="$WX_APPID" \
|
|
-e WX_APPSECRET="$WX_APPSECRET" \
|
|
-e WX_TEMPLATE_ID="${WX_TEMPLATE_ID:-6J7Stt-lu7DKU6jblJ0nZGq_D81z5glnksf7qWfy5Yw}" \
|
|
-e WX_MINIPROGRAM_STATE="${WX_MINIPROGRAM_STATE:-formal}" \
|
|
-e REMINDER_CRON="${REMINDER_CRON:-0 9 * * *}" \
|
|
birthday-server:latest
|
|
|
|
- name: 部署完成提示
|
|
run: echo "部署完成,访问 http://192.168.1.66:15002/api/health"
|