version: 0.2

env:
  variables:
    POSTGRES_USER: "ClusterAdmin"
    POSTGRES_DB: "mer_sbox_pg"
  parameter-store:
    POSTGRES_PW: "/Services/pangea-backend/POSTGRES_PW"

phases:

  install:
    commands:
      - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc
      - npm install @meridio/mr-ecs-services-ops --no-save
      - npm run migrate
      - npm run apidoc
  pre_build:
    commands:
      - service docker start
      - echo Logging in to Amazon ECR...
      - aws --version
      - $(aws ecr get-login --region $REGION --no-include-email)
      - REPOSITORY_URI=392496416668.dkr.ecr.us-east-1.amazonaws.com/$REPO_NAME
      - IMAGE_TAG=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
      - echo '(cd docker && pwd && docker-compose -f docker-compose-cloudbuild.yml build)'
  build:
    commands:
      - echo test started on `date`
      - echo '(cd docker && pwd && docker-compose -f docker-compose-cloudbuild.yml up --abort-on-container-exit)'
      - echo Build completed on `date`
      - echo Building the Docker image...
      - docker build --build-arg NPM_TOKEN=$NPM_TOKEN -t $REPOSITORY_URI:latest .
      - docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
      - echo Pushing the Docker images...
      - docker push $REPOSITORY_URI:latest
      - docker push $REPOSITORY_URI:$IMAGE_TAG
      - npm run deploy 'isServiceDiscovery=1' 'containerPort=4000' 'desiredCount=1' 'minCapacity=1' 'maxCapacity=3' 'CDNALIAS=sandbox-api.meridio.co' 'ALB_HOST_HEADER=sandbox-api.meridio.co'
