name: Go build on: push: branches: - master paths: - 'main.go' - '.gitea/workflows/go.yaml' jobs: docker: name: build and run runs-on: ubuntu-latest steps: - name: Checkout code uses: https://gitea.com/actions/checkout@v4 - name: Set up Docker Buildx uses: https://gitea.com/docker/setup-buildx-action@v3 - name: Build Docker image (with actor info) run: | # 使用GITEA_ACTOR(触发CI的用户)和RUN_ID生成镜像标签 docker build -t go-blog:${{ gitea.actor }}-${{ gitea.run_number }} -f ./Dockerfile . - name: Run Docker container run: | # 检查并删除已存在的容器(避免冲突) if [ $(docker ps -aq --filter name=^/goblog$) ]; then docker stop goblog docker rm goblog fi # 启动新容器并传递actor环境变量 docker run -d -p 8910:8910 --name goblog go-blog:${{ gitea.actor }}-${{ gitea.run_number }}