name: build and push # 当代码推送到 main 分支时触发 on: push: branches: [ main ] jobs: build-and-push: runs-on: ubuntu-latest steps: - name: 拉取最新代码 uses: actions/checkout@v4 - name: 设置 Docker Buildx uses: docker/setup-buildx-action@v3 - name: 登录到自己的 Docker 仓库 uses: docker/login-action@v3 with: registry: registry.bmycode.help username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: 构建并推送镜像 uses: docker/build-push-action@v5 with: # 使用项目中的 Dockerfile context: . # 构建成功后自动将镜像推送到仓库 push: true # tags: 定义镜像的名称和标签 tags: | registry.bmycode.help/app-product:latest registry.bmycode.help/app-product:${{ github.sha }} - name: 登录前端集群,拉镜像 uses: appleboy/ssh-action@v1 with: # 192.168.139.19,192.168.139.120,192.168.139.242 host: ${{ vars.SSH_HOST_LIST }} sync: true username: ${{ secrets.USERNAME }} password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} script: | docker pull registry.bmycode.help/app-product:${{ github.sha }}