name: Docker Build & Deploy on: workflow_dispatch: push: branches: [ main ] env: COMPOSE_PROJECT_NAME: nasrobot IMAGE_NAME: nasrobot-app # 显式定义镜像名称 jobs: build: name: Build Docker Image runs-on: docker-cli steps: - name: Checkout code uses: https://gitea.com/gitea/act/src/branch/HEAD/actions/checkout@main - name: Cleanup old containers run: | docker compose -p $COMPOSE_PROJECT_NAME down || true docker rmi $IMAGE_NAME || true - name: Build new image run: docker build -t $IMAGE_NAME . deploy: name: Deploy to Production runs-on: docker-cli needs: build environment: production steps: - name: Checkout code uses: https://gitea.com/gitea/act/src/branch/HEAD/actions/checkout@main - name: Start containers run: | docker compose -p $COMPOSE_PROJECT_NAME down docker compose -p $COMPOSE_PROJECT_NAME up -d --build