Alibaba Cloud Docker Registry 配置 github actions 的操作

14 min read

创建一个 GitHub Actions 工作流程,用于自动化地将 Docker 镜像推送到阿里云的 Docker Registry。

  1. 创建工作流程文件
    在您的 GitHub 仓库中创建一个新的工作流程文件。例如,在 .github/workflows 目录下创建一个名为 docker-deploy.yml 的文件。

  2. 定义工作流程触发条件
    您可以根据需要设置触发工作流程的条件,例如在推送到特定分支时触发。例如:

    name: Deploy Docker Image
    
    on:
      push:
        branches:
          - main
    
  3. 定义作业和步骤
    在工作流程中定义一个作业(例如 build-and-push),然后添加必要的步骤来构建并推送 Docker 镜像。

    jobs:
      build-and-push:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout repository
            uses: actions/checkout@v4
    
          - name: Set up Docker Buildx
            uses: docker/setup-buildx-action@v1
    
          - name: Login to Alibaba Cloud Docker Registry
            uses: docker/login-action@v3
            with:
              registry: registry.cn-hangzhou.aliyuncs.com
              username: ${{ secrets.ALIYUN_USERNAME }}
              password: ${{ secrets.ALIYUN_PASSWORD }}
    
          - name: Build and push Docker image
            uses: docker/build-push-action@v2
            with:
              context: .
              push: true
              tags: registry.cn-hangzhou.aliyuncs.com/pm-pan/pm-web:latest
    
  4. 配置机密
    在 GitHub 仓库的设置中配置您的阿里云账户用户名和密码作为机密(secrets)。这是安全的做法,避免直接在工作流文件中暴露凭据。

  5. 推送代码
    将这个工作流程文件推送到 GitHub 仓库。每当您向 main 分支推送代码时,这个工作流程就会自动运行,构建并推送 Docker 镜像到阿里云 Docker Registry。

确保替换 ALIYUN_USERNAMEALIYUN_PASSWORD 为您在 GitHub secrets 中设置的键。这样的工作流程能有效地自动化 Docker 镜像的构建和部署过程,提高开发效率。