Github操作将docker部署到AWS ECS ECR

Github操作将docker部署到AWS ECS ECR,docker,amazon-ecs,github-actions,aws-ecr,Docker,Amazon Ecs,Github Actions,Aws Ecr,您好,我想使用Github操作来构建我的Github repo的前端和后端映像,并将其推送到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_T

您好,我想使用Github操作来构建我的Github repo的前端和后端映像,并将其推送到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 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"