Setting up a CI/CD Pipeline using Jenkins on AWS IaaS Model.

In this Video post we have shown the Infrastructure provisioning and config management capabilities on AWS using Jenkins, Terraform, Ansible, Packer and AWS.

  • Jenkins is used as an Orchestrator to drive the end to end Infrastructure as code workflow.
  • Terraform is used as a provisioner to provision an EC2 on AWS
  • Ansible is used as configuration management tool to configure tomcat 7 and deploy Sample web application onto the machine.
  • AWS is used as the public cloud provider.
  • First the Jenkins checkout out the code from the git repo, builds the application code, perform SCA analysis and execute Unit test cases along with Sonarqube static code analysis.
  • Then it pushes the code to artifactory.
  • Packer internally invokes Terraform to provision the VM using the image created by packer.
  • Terraform then invokes Ansible which installs and configure tomcat and the web application by pulling the latest package from Artifactory.