name: 构建并部署 run-name: ${{ gitea.actor }} 正在部署 Quant Speed Page 🚀 on: push: branches: - main jobs: build-and-deploy: runs-on: ubuntu steps: - name: 检出代码 uses: actions/checkout@v3 # 1. 登录 Docker Registry # 如果你使用 Docker Hub,请在 Gitea 仓库设置 -> Secrets 中配置 DOCKERHUB_USERNAME 和 DOCKERHUB_TOKEN - name: 登录到 Docker Hub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} # 2. 构建并推送镜像 - name: 构建并推送 Docker 镜像 uses: docker/build-push-action@v4 with: context: . push: true # 镜像标签,这里使用了 Docker Hub 用户名作为前缀 tags: ${{ secrets.DOCKERHUB_USERNAME }}/quant-speed-page:latest # 3. 部署到服务器 # 请在 Gitea 仓库设置 -> Secrets 中配置 SERVER_HOST, SERVER_USER, SERVER_PASSWORD - name: 部署到服务器 uses: appleboy/ssh-action@master with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USER }} password: ${{ secrets.SERVER_PASSWORD }} script: | # 停止并删除旧容器(如果存在) docker stop quant-speed-page || true docker rm quant-speed-page || true # 拉取最新镜像 docker pull ${{ secrets.DOCKERHUB_USERNAME }}/quant-speed-page:latest # 启动新容器 # -d: 后台运行 # --restart unless-stopped: 除非手动停止,否则自动重启 # -p 80:80: 映射端口 docker run -d \ --name quant-speed-page \ --restart unless-stopped \ -p 80:80 \ ${{ secrets.DOCKERHUB_USERNAME }}/quant-speed-page:latest