sourabhtk37 / devops-workflow

Repo for demonstrating a typical devops workflow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

devops-workflow

Repo for demonstrating a typical "devops" workflow. A typical "devops" workflow consists of build -> test -> validate -> release cycle.

This repo aims to show a typical build -> test -> validate -> release cycle can be created and applied. This repo consists of a simple Flask Hello World application and a simple test for it. The supporting toolchain around this includes:

  • Packer, for building a custom AMI based on an existing base (in this case, a stock Ubuntu 18.04 image)
  • Ansible, for config management and provisioning the necessary tools
  • Terraform for building the necessary resources and instances on AWS.
  • A Jenkinsfile which defines a Jenkins pipeline script for each of the different stages.
  • Datadog integration so that your instance reports metrics to datadog upon launch

Things that are included in the repo but not yet integrated in the cycle:

  • A Dockerfile for building a Docker image
  • Necessary integrations and plugins required for auto deploy on a github commit/push
  • Setting up datadog account / datadog + AWS integration

Jenkins plugins

Following Jenkins plugins were used to achieve the desired result:

  • AnsiColor (for coloring console output)
  • Github Integration
  • Pipeline AWS steps (to inject AWS credentials, but can be used for many other things)

About

Repo for demonstrating a typical devops workflow

License:MIT License


Languages

Language:HCL 50.7%Language:Python 42.7%Language:Shell 6.6%