@mvp-rockets/namma-generator
Version:
A generator to generate mvp-rockets projects
33 lines (30 loc) • 1.84 kB
YAML
version: 0.2
phases:
pre_build:
commands:
- echo Logging in to Amazon ECR...
- aws --version
- aws ecr get-login-password --region ap-south-1 | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.ap-south-1.amazonaws.com
- REPOSITORY_URI=$AWS_ACCOUNT_ID.dkr.ecr.ap-south-1.amazonaws.com/$IMAGE_REPO_NAME
- IMAGE_TAG=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
build:
commands:
- echo Build started on `date`
- echo Building the Docker image...
- REPO_URI=$AWS_ACCOUNT_ID.dkr.ecr.ap-south-1.amazonaws.com/$IMAGE_REPO_NAME
- docker pull $REPO_URI:latest || true
- cd functions
- docker build --cache-from $REPO_URI:latest -f api.Dockerfile -t bloom-api:latest --build-arg NODE_ENV=$NODE_ENVIRONMENT .
- docker tag bloom-api:latest $AWS_ACCOUNT_ID.dkr.ecr.ap-south-1.amazonaws.com/$IMAGE_REPO_NAME:latest
post_build:
commands:
- echo Build completed on `date`
- echo Pushing the Docker images...
- REPO_URI=$AWS_ACCOUNT_ID.dkr.ecr.ap-south-1.amazonaws.com/$IMAGE_REPO_NAME
- docker push $REPO_URI:latest
# Set AWS region from CodeBuild environment variable
- export AWS_DEFAULT_REGION=$AWS_REGION
# Run ECS task
- aws ecs run-task --cluster $CLUSTER_NAME --task-definition $TASK_DEFINITION --overrides '{"containerOverrides":[{"name":"'"$CONTAINER_NAME"'", "command":["npm","run","db:migrate","--","--env='NODE_ENV=$NODE_ENVIRONMENT'"]}]}'
- aws ecs run-task --cluster $CLUSTER_NAME --task-definition $TASK_DEFINITION --overrides '{"containerOverrides":[{"name":"'"$CONTAINER_NAME"'", "command":["npm","run","db:seed:all","--","--env='NODE_ENV=$NODE_ENVIRONMENT'"]}]}'
- aws ecs update-service --cluster $CLUSTER_NAME --service $SERVICE_NAME --force-new-deployment