Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- version: 2
- jobs:
- build:
- docker:
- - image: circleci/python:3.6.1
- working_directory: ~/repo
- steps:
- - checkout
- - restore_cache:
- keys:
- - v1-dependencies-{{ checksum "requirements.txt" }}
- - v1-dependencies-
- - run:
- name: Install dependencies
- command: |
- python3 -m venv venv
- . venv/bin/activate
- pip install -r requirements.txt
- push_to_quay:
- docker:
- - image: quay.io/org/ts-docker-deployment-dev
- environment:
- IMAGE_NAME: quay.io/org/ts-sample
- auth:
- username: $QUAY_USERNAME
- password: $QUAY_PASSWORD
- working_directory: ~/repo
- steps:
- - checkout
- - setup_remote_docker:
- docker_layer_caching: true
- - run:
- name: Build & Push Docker image to Quay.io
- command: |
- quay-push.v2.sh
- deploy_to_development:
- docker:
- - image: quay.io/org/ts-docker-deployment-dev
- auth:
- username: $QUAY_USERNAME
- password: $QUAY_PASSWORD
- environment:
- RELEASE_NAME: ts-sample-dev
- RELEASE_NAMESPACE: default
- HELM_CHART_NAME: ts-backend-chart
- HELM_VALUES_S3_FOLDER: ts-sample
- HELM_VALUES_FILENAME: values.yaml
- HELM_VALUES_BASE_ON: true
- DD_ENVIRONMENT_TAG: development
- steps:
- - checkout
- - run:
- name: Deploying to Development Environment
- command: |
- helm-launcher.v2.sh
- deploy_to_qa:
- docker:
- - image: quay.io/org/ts-docker-deployment-dev
- auth:
- username: $QUAY_USERNAME
- password: $QUAY_PASSWORD
- environment:
- RELEASE_NAME: ts-sample-qa
- RELEASE_NAMESPACE: qa
- HELM_CHART_NAME: ts-backend-chart
- HELM_VALUES_S3_FOLDER: ts-sample
- HELM_VALUES_FILENAME: values.qa.yaml
- HELM_VALUES_BASE_ON: true
- DD_ENVIRONMENT_TAG: qa
- steps:
- - checkout
- - run:
- name: Deploying to QA Environment
- command: |
- helm-launcher.v2.sh
- deploy_to_production_primary:
- docker:
- - image: quay.io/org/ts-docker-deployment-prod
- auth:
- username: $QUAY_USERNAME
- password: $QUAY_PASSWORD
- environment:
- RELEASE_NAME: ts-sample-prod
- RELEASE_NAMESPACE: default
- HELM_CHART_NAME: ts-backend-chart
- HELM_VALUES_S3_FOLDER: ts-sample
- HELM_VALUES_FILENAME: values.yaml
- HELM_VALUES_BASE_ON: true
- DD_ENVIRONMENT_TAG: production
- steps:
- - checkout
- - run:
- name: Deploying to Production Environment (Primary)
- command: |
- kubectl get pods
- kubectl get svc
- workflows:
- version: 2
- build_and_deploy:
- jobs:
- - build
- - push_to_quay:
- requires:
- - build
- filters:
- branches:
- only: master
- - deploy_to_development:
- requires:
- - build
- - push_to_quay
- filters:
- branches:
- only: master
- - approval_to_qa:
- type: approval
- requires:
- - build
- - push_to_quay
- - deploy_to_development
- filters:
- branches:
- only: master
- - deploy_to_qa:
- requires:
- - build
- - push_to_quay
- - deploy_to_development
- - approval_to_qa
- filters:
- branches:
- only: master
- - approval_to_production:
- type: approval
- requires:
- - build
- - push_to_quay
- - deploy_to_development
- - approval_to_qa
- - deploy_to_qa
- filters:
- branches:
- only: master
- - deploy_to_production_primary:
- requires:
- - build
- - push_to_quay
- - deploy_to_development
- - approval_to_qa
- - deploy_to_qa
- - approval_to_production
- filters:
- branches:
- only: master
Add Comment
Please, Sign In to add comment