version: 0.2

phases:
  install:
    runtime-versions:
      docker: 18
      nodejs: 10
  pre_build:
    commands:
      - echo Logging in to Amazon ECR...
      - $(aws ecr get-login --no-include-email --region $AWS_REGION)
  build:
    commands:
      - echo Build started on `date`
      - echo Building the Docker image...
      - echo Build resolved source version hash set to $CODEBUILD_RESOLVED_SOURCE_VERSION
      - echo $CODEBUILD_RESOLVED_SOURCE_VERSION > draw-images/src/codebuild_resolved_source_version.txt
      - echo Build number is $CODEBUILD_BUILD_NUMBER
      - echo $CODEBUILD_BUILD_NUMBER > draw-images/src/codebuild_build_number.txt
      - echo Building container...
      - pwd
      - docker build -t $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:$CODEBUILD_BUILD_NUMBER -f draw-images/Dockerfile draw-images/
      - docker tag $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:$CODEBUILD_BUILD_NUMBER $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:$CODEBUILD_BUILD_NUMBER
      - docker tag $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:$CODEBUILD_BUILD_NUMBER $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:$CODEBUILD_RESOLVED_SOURCE_VERSION
      - docker tag $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:$CODEBUILD_BUILD_NUMBER $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:latest
  post_build:
    commands:
      - echo Build completed on `date`
      - echo Pushing the Docker image...
      - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:$CODEBUILD_BUILD_NUMBER
      - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:$CODEBUILD_RESOLVED_SOURCE_VERSION
      - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/drawing-backend:latest
      - echo Updating build secret in secrets manager...
      - aws secretsmanager update-secret --secret-id DrawingBackend-Tag --secret-string $CODEBUILD_BUILD_NUMBER