diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index eec694a..f9c5cd2 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -6,6 +6,7 @@ on: - main - dev - test + - iteration/august env: REGISTRY: registry.boss160.cn @@ -21,6 +22,7 @@ jobs: run: | export PATH="$HOME/.nix-profile/bin:/usr/local/bin:/usr/bin:/bin:$PATH" export GIT_SSL_NO_VERIFY=1 + git clone https://git.boss160.cn/luo/one-pipe-system.git . git checkout ${{ github.sha }} @@ -33,25 +35,30 @@ jobs: echo "tag=dev" >> $GITHUB_OUTPUT elif [ "${{ github.ref }}" = "refs/heads/test" ]; then echo "tag=test" >> $GITHUB_OUTPUT + elif [ "${{ github.ref }}" = "refs/heads/iteration/august" ]; then + echo "tag=test" >> $GITHUB_OUTPUT else echo "tag=unknown" >> $GITHUB_OUTPUT fi - name: 登录 Docker Registry run: | - echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${{ env.REGISTRY }}" --username "${{ secrets.REGISTRY_USERNAME }}" --password-stdin + echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login "${{ env.REGISTRY }}" \ + --username "${{ secrets.REGISTRY_USERNAME }}" \ + --password-stdin - name: 构建前端镜像 run: | docker build -t ${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.tag }} . - docker tag ${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.tag }} ${{ env.IMAGE_NAME }}:${{ github.sha }} + docker tag ${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.tag }} \ + ${{ env.IMAGE_NAME }}:${{ github.sha }} - name: 推送镜像到 Registry run: | docker push ${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.tag }} docker push ${{ env.IMAGE_NAME }}:${{ github.sha }} - - name: 部署到本地(仅 iteration/august 分支) + - name: 部署到测试环境(iteration/august) if: github.ref == 'refs/heads/iteration/august' run: | # 确保部署目录存在 @@ -79,6 +86,32 @@ jobs: echo "部署完成!" docker compose -f docker-compose.prod.yml ps + - name: 部署到生产环境(main) + if: github.ref == 'refs/heads/main' + run: | + mkdir -p ${{ env.DEPLOY_DIR }} + + echo "当前工作目录: $(pwd)" + echo "当前目录内容:" + ls -la + + echo "更新部署配置文件..." + cp -v docker-compose.prod.yml ${{ env.DEPLOY_DIR }}/ + + cd ${{ env.DEPLOY_DIR }} + + echo "拉取最新镜像..." + docker compose -f docker-compose.prod.yml pull + + echo "重启服务..." + docker compose -f docker-compose.prod.yml up -d + + echo "等待服务启动..." + sleep 5 + + echo "部署完成!" + docker compose -f docker-compose.prod.yml ps + - name: 构建结果通知 if: always() run: | @@ -87,4 +120,4 @@ jobs: echo "镜像标签: ${{ github.sha }}" else echo "构建失败" - fi + fi \ No newline at end of file