Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: 2
- jobs:
- build:
- working_directory: ~/wager-service
- docker:
- - image: circleci/python:3.6.1
- environment:
- ECR_IMAGE_NAME: 552100158756.dkr.ecr.us-east-1.amazonaws.com/clive/applications/wager-service
- steps:
- - checkout
- - setup_remote_docker:
- version: 17.05.0-ce
- reusable: true
- exclusive: false
- - run:
- name: Install aws cli
- command: sudo pip install awscli
- - run:
- name: Install ansible and decrypt ssh-key and secrets
- command: |
- sudo pip install ansible
- echo $ANSIBLE_VAULT_PASSWORD >> vault-pass.txt
- ansible-vault decrypt --vault-password-file=vault-pass.txt external/keys/id_rsa.wager
- ansible-vault decrypt --vault-password-file=vault-pass.txt wager/secrets.py
- - run:
- name: docker-login
- command: eval `aws ecr get-login --no-include-email`
- - restore_cache:
- key: v1-{ checksum "wager/" }
- - run:
- name: Build the docker image
- command: |
- docker build -t ${ECR_IMAGE_NAME}:$(git describe --always) .
- - save_cache:
- key: v1-{ checksum "wager/" }
- paths:
- - /home/circleci/cached
- - run:
- name: Run tests
- command: |
- docker run --rm -it ${ECR_IMAGE_NAME}:$(git describe --always) pytest -n 2 -v --cov-config .coveragerc --cov=wager
- - run:
- name: Run linter
- command: |
- docker run --rm -it ${ECR_IMAGE_NAME}:$(git describe --always) flake8 wager
- - deploy:
- name: Push docker image
- command: |
- APPNAME=wager-service
- DOCKER_BRANCH=${CIRCLE_BRANCH//\//-}
- docker tag ${ECR_IMAGE_NAME}:$(git describe --always) ${ECR_IMAGE_NAME}:${DOCKER_BRANCH}
- ./circle_retry docker push ${ECR_IMAGE_NAME}:$(git describe --always)
- ./circle_retry docker push ${ECR_IMAGE_NAME}:${DOCKER_BRANCH}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement