【问题标题】:Github action deploy docker to AWS ECS ECRGithub 操作将 docker 部署到 AWS ECS ECR
【发布时间】:2020-07-29 06:16:21
【问题描述】:

您好,我想使用 Github 操作来构建我的 github 存储库的前端和后端图像并将其推送到 AWS ECR。

如何更改这部分 Github 操作的配置??

- name: Build, tag, and push image to Amazon ECR
  id: build-image
  env:
    ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
    ECR_REPOSITORY: githubactions
    IMAGE_TAG: latest
  run: |
    # Build a docker container and
    # push it to ECR so that it can
    # be deployed to ECS.
    docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
    docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
    echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"

假设在我的 Github 存储库中,我有两个带有 web/Dockerfile 和 backend/Dockerfile 的图像

【问题讨论】:

    标签: docker amazon-ecs github-actions aws-ecr


    【解决方案1】:

    您只需使用 docker build -f PATH 并运行 build+push 命令两次,或者在同一步骤中作为附加命令:

    - name: Build, tag, and push images to Amazon ECR
      id: build-image
      env:
        ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
      run: |
        docker build -f backend/Dockerfile -t $ECR_REGISTRY/backend:latest .
        docker push $ECR_REGISTRY/backend:latest
        docker build -f web/Dockerfile -t $ECR_REGISTRY/web:latest .
        docker push $ECR_REGISTRY/web:latest
    

    或两个单独的步骤:

    - name: Build, tag, and push backend image to Amazon ECR
      id: build-backend
      env:
        ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
        ECR_REPOSITORY: backend
        IMAGE_TAG: latest
      run: |
        docker build -f backend/Dockerfile -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
        docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
        echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"
    
    - name: Build, tag, and push web image to Amazon ECR
      id: build-web
      env:
        ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
        ECR_REPOSITORY: web
        IMAGE_TAG: latest
      run: |
        docker build -f web/Dockerfile -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
        docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
        echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"
    

    【讨论】:

      猜你喜欢
      • 2016-05-30
      • 2021-06-24
      • 2022-01-01
      • 1970-01-01
      • 2018-03-25
      • 2018-04-13
      • 2017-12-30
      • 2020-12-30
      • 2017-09-30
      相关资源
      最近更新 更多