first commit
Some checks failed
本地构建并运行容器 / build (push) Has been cancelled

This commit is contained in:
2026-05-28 00:43:58 +08:00
parent 0b1d447622
commit 882f287ed4
3 changed files with 82 additions and 4 deletions

View File

@@ -0,0 +1,72 @@
name: 本地构建并运行容器
on:
push:
branches: [ main ]
paths-ignore:
- "README.md"
- "*.md"
- ".git"
- ".gitea"
- ".dockerignore"
- ".gitignore"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 拉取最新代码
uses: actions/checkout@v4
- name: 构建镜像
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: |
${{ vars.IMAGE_NAME }}:latest
- name: 停止并删除旧容器
run: |
CONTAINER_NAME="${{ vars.IMAGE_NAME }}"
docker stop ${CONTAINER_NAME} 2>/dev/null || true
docker rm ${CONTAINER_NAME} 2>/dev/null || true
echo "✅ 停止并删除旧容器 ${CONTAINER_NAME} 成功..."
- name: 运行新容器
run: |
# 容器名称
CONTAINER_NAME="${{ vars.IMAGE_NAME }}"
# 启动容器
docker run -d \
--name ${CONTAINER_NAME} \
--restart always \
${{ vars.IMAGE_NAME }}:latest
- name: 验证容器状态
run: |
CONTAINER_NAME="${{ vars.IMAGE_NAME }}"
if docker ps --filter "name=${CONTAINER_NAME}" --filter "status=running" | grep -q ${CONTAINER_NAME}; then
echo "✅ 容器 ${CONTAINER_NAME} 启动成功"
# 显示容器日志
docker logs ${CONTAINER_NAME} --tail 50
else
echo "❌ 容器 ${CONTAINER_NAME} 启动失败"
docker logs ${CONTAINER_NAME}
exit 1
fi
- name: 清理旧镜像
run: |
CONTAINER_NAME="${{ vars.IMAGE_NAME }}"
OLD_IMAGES=$(docker images --filter "reference=${CONTAINER_NAME}:*" --format "{{.ID}}" | tail -n +6)
if [ -n "${OLD_IMAGES}" ]; then
echo "🗑️ 清理旧镜像:${OLD_IMAGES}"
echo "${OLD_IMAGES}" | xargs -r docker rmi -f 2>/dev/null
echo "✅ 旧镜像清理成功"
else
echo "✅ 无旧镜像需要清理"
fi

View File

@@ -13,6 +13,9 @@ RUN npm config set registry https://repo.huaweicloud.com/repository/npm/ && \
COPY . . COPY . .
ENV CRON=*/30 * * * * *
ENV PAGE_TIMEOUT=30000
ENV CHROME_PATH=/usr/bin/chromium ENV CHROME_PATH=/usr/bin/chromium
ENV NODE_ENV=production ENV NODE_ENV=production

View File

@@ -4,12 +4,15 @@ services:
container_name: dy-monitor container_name: dy-monitor
restart: always restart: always
environment: environment:
# 每30秒重新运行一次检查默认每天早上8点 # 每30秒运行一次检查
# - CRON=*/30 * * * * * - CRON=*/30 * * * * *
# 每30秒重新运行一次检查默认每天早上8点
# - CRON=*/30 * * * * * # 每一小时,运行一次检查
# - CRON=0 0 * * * *
# - DOUYIN_PAGE=抖音主播主页地址 # - DOUYIN_PAGE=抖音主播主页地址
- PAGE_TIMEOUT=30000 - PAGE_TIMEOUT=30000
# Chrome 路径 # Chrome 路径
- CHROME_PATH=/usr/bin/chromium - CHROME_PATH=/usr/bin/chromium