Wade Stern Projects

Enterprise Application Pipeline

Requirements

  • The pipeline needs to trigger when there is a push to either the frontend or backend Git Hub.
  • The pipeline should test the application with unit and staging tests.
  • The pipeline needs to be able to delete all cloud resources at the end to minimize the cost
  • The pipeline should be able to create all of the resources from scratch because they are deleted every iteration.
  • The output of the continuous integration part of the pipeline should be a docker image of the updated application.
  • The output of the continuous deployment part of the pipeline should be a fully working application hosted on AWS.

CI Image

CD staging Image

CD Production Image

Pipeline cleanup Image

Workflow For Pipeline
workflows:
  build-and-test:
    jobs:
      - test-python
      - build_docker_image:
          requires:
            - test-python
      - create_kubernetes_cluster:
          requires:
            - build_docker_image
      - setup_dns_and_deploy:
          requires:
            - create_kubernetes_cluster
      - puppeteer_testing :
          requires:
            - setup_dns_and_deploy
      - hold_notification:
          requires:
            - puppeteer_testing
      - hold_puppeteer:
          type: approval
          requires:
            - puppeteer_testing
      - Create_and_deploy_prod:
          requires:
            - hold_puppeteer
      - puppeteer_testing2:
          requires:
            - Create_and_deploy_prod
      - Azure_Cleanup:
          requires:
            - puppeteer_testing2
      - hold_cleanup:
          type: approval
          requires:
            - puppeteer_testing2
      - hold_notification:
          requires:
            - puppeteer_testing2
      - AWS_Cleanup:
          requires: 
            - hold_cleanup