/AWS-EC2-JENKINS-TF

Automate AWS EC2 Instance setup using Terraform and Jenkins

Primary LanguageHCL

Automate Infrastructure(EC2) setup using Terraform and Jenkins

  • Project Objective: To create an automated deployment pipeline using Jenkins, Terraform, and Git to deploy an EC2 instance on AWS. This project aims to improve the efficiency and consistency of deploying infrastructure by automating the process and reducing the risk of human error. The pipeline should pull the Terraform configuration files from the Git repository, apply the configuration using Terraform, and deploy the EC2 instance on AWS. The final outcome is to have a fully functional and accessible EC2 instance for further use in development, testing, or production environments.

What is Jenkins at a high level? Jenkins is an open-source automation server that provides a way to automate parts of the software development process, including building, testing, and deploying software applications. It is a continuous integration and continuous delivery (CI/CD) tool that automates the software delivery process by allowing developers to build, test, and deploy code changes in a consistent and repeatable way. Jenkins enables teams to quickly detect and fix errors, streamline the development process, and ultimately deliver higher-quality software faster. It offers an extensive plugin ecosystem that supports integrations with a wide range of tools and technologies, making it a versatile and flexible tool for teams of all sizes and industries.

What is Terraform at a high level? Terraform is an open-source infrastructure as code (IaC) tool used to manage and provision infrastructure resources across various cloud platforms, such as Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure. It allows users to define infrastructure as code using a declarative language, which enables them to manage complex infrastructure deployments with ease. Terraform provides a consistent and repeatable way to create, modify, and destroy infrastructure resources, making it ideal for use in cloud-based environments. Its modular architecture and support for third-party plugins and providers make it a flexible and versatile tool for teams of all sizes and industries. With Terraform, users can automate the entire infrastructure lifecycle, from planning and design to deployment and scaling.

Pre-Requisites to Follow Along 1.General Knowledge of AWS & Terraform is required

2.AWS Account with Admin Level Access

3.Terraform Installed

4.An Integrated Development Environment (IDE) I’m using VS Code

5.Putty used for Programmatic Access

6.Here is the link to my GitHub Repo for this deployment

7.Links to Documentation at the end of the article!