DevOps Project 1

1. What is this?

2. Prerequisites

  • Install terraform

  • Install aws cli

  • configure aws cli

  • Create a sonarqube account and create access token.

  • Create a jfrog artifactory account and select maven as a package type and then Generate access key token.

  • Create a github access token in the same github account where your application code is hosted in.

  • You will use these access keys and corresponding passwords/usernames in the jenkins-node.sh file but make sure not to hardcode these credentials into the bash script but use a secrets manager like aws secrets manager to store and manage these secrets.

  • In our case we used AWS Secrets manager configured using terraform

3. Getting started

  1. Clone the repo via SSH or HTTPS
   #SSH
   git clone git@github.com:thab310/devops-project-1.git

   #HTTPS
   git clone https://github.com/thab310/devops-project-1.git
  1. CD into devops-project-1 and create terraform.tfvars
   cd devops-project-1 && touch terraform.tfvars
  1. Update terraform.tfvars
   profile = ""
   region  = ""
   owner   = ""
  1. Run terraform init and terraform apply
  2. Updated

3. Steps

  • login to http//:jenkins__master_ec2_IP:8080
  • Enable Webhook
  1. Go to multibranch pipeline job job--> configure --> Scan Multibranch Pipeline Triggers --> Scan Multibranch Pipeline Triggers --> Scan by webhook Trigger token: <token_name>

  2. Add webhook to Github repository Github repo --> settings --> webhooks --> Add webhook Payload URI: <jenkins_IP>:8080/multibranch-webhook-trigger/invoke?token=<token_name> content type: application/json Which event would you like to trigger this webhook: just the push event

  3. Create multi-branch pipeline in jenkins

  4. Setup webhook in order to run jenkins pipeline automatically

4. Diagram

What can I do better?