From 877d902095bddc8e5b5b04cccded60820470215b Mon Sep 17 00:00:00 2001 From: Showmik Bose Date: Tue, 2 May 2023 22:47:11 +0530 Subject: [PATCH 1/7] Update pom.xml --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 2042ad1..a651857 100644 --- a/pom.xml +++ b/pom.xml @@ -42,8 +42,8 @@ maven-compiler-plugin - 1.6 - 1.6 + 1.8 + 1.8 From 0a692b5fbec095b4b203632ce50828e0767329af Mon Sep 17 00:00:00 2001 From: Showmik Bose Date: Tue, 2 May 2023 22:58:41 +0530 Subject: [PATCH 2/7] Update pom.xml --- pom.xml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index a651857..43af532 100644 --- a/pom.xml +++ b/pom.xml @@ -106,10 +106,16 @@ 2.8 - - maven-compiler-plugin - 2.3.2 - + + org.apache.maven.plugins + maven-war-plugin + 3.3.1 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + maven-javadoc-plugin @@ -148,12 +154,12 @@ maven-surefire-report-plugin - 2.11 + 3.0.0 maven-surefire-plugin - 2.11 + 3.0.0 From f07c4d22fc5de4b6e2c812f62239b15ddd15fc5a Mon Sep 17 00:00:00 2001 From: Showmik Bose Date: Wed, 3 May 2023 07:32:22 +0530 Subject: [PATCH 3/7] Update pom.xml --- pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pom.xml b/pom.xml index 43af532..a5363eb 100644 --- a/pom.xml +++ b/pom.xml @@ -185,6 +185,12 @@ + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.9.1.2184 + javax.servlet servlet-api From 32242c0c3b32f583153fe75b0a981ce0ad284e50 Mon Sep 17 00:00:00 2001 From: Showmik Bose Date: Wed, 3 May 2023 07:36:08 +0530 Subject: [PATCH 4/7] Update pom.xml --- pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pom.xml b/pom.xml index a5363eb..43af532 100644 --- a/pom.xml +++ b/pom.xml @@ -185,12 +185,6 @@ - - - org.sonarsource.scanner.maven - sonar-maven-plugin - 3.9.1.2184 - javax.servlet servlet-api From 28d02712eade4a1505ed9d697c7bb87058ff9088 Mon Sep 17 00:00:00 2001 From: Showmik Bose Date: Sat, 8 Jul 2023 19:01:34 +0530 Subject: [PATCH 5/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fa012fa..db527bb 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ - Instance type: t2.medium - Security Group (Open): 8080, 9100 and 22 to 0.0.0.0/0 - Key pair: Select or create a new keypair - - User data (Copy the following user data): https://github.com/awanmbandi/eagles-batch-devops-projects/blob/maven-nexus-sonarqube-jenkins-install/jenkins-install.sh + - User data (Copy the following user data): https://github.com/showmikb/eagles-batch-devops-projects/blob/maven-nexus-sonarqube-jenkins-install/jenkins-install.sh - Launch Instance 3) SonarQube From 29d1d2d8e3d609ab7e1a52b35aed7b67d07147f9 Mon Sep 17 00:00:00 2001 From: Showmik Bose Date: Sat, 8 Jul 2023 19:09:24 +0530 Subject: [PATCH 6/7] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index db527bb..d9b84a2 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ - Instance type: t2.medium - Security Group (Open): 9000, 9100 and 22 to 0.0.0.0/0 - Key pair: Select or create a new keypair - - User data (Copy the following user data): https://github.com/awanmbandi/eagles-batch-devops-projects/blob/maven-nexus-sonarqube-jenkins-install/sonarqube-install.sh + - User data (Copy the following user data): https://github.com/showmikb/eagles-batch-devops-projects/blob/maven-nexus-sonarqube-jenkins-install/sonarqube-install.sh - Launch Instance 4) Nexus @@ -36,7 +36,7 @@ - Instance type: t2.medium - Security Group (Open): 8081, 9100 and 22 to 0.0.0.0/0 - Key pair: Select or create a new keypair - - User data (Copy the following user data): https://github.com/awanmbandi/eagles-batch-devops-projects/blob/maven-nexus-sonarqube-jenkins-install/nexus-install.sh + - User data (Copy the following user data): https://github.com/showmikb/eagles-batch-devops-projects/blob/maven-nexus-sonarqube-jenkins-install/nexus-install.sh - Launch Instance 5) EC2 (Dev/Stage/Prod) From 6ec342fe8cfb7d21eaf53cdbc917b2be7a47adc4 Mon Sep 17 00:00:00 2001 From: Showmik Bose Date: Sun, 9 Jul 2023 23:39:01 +0530 Subject: [PATCH 7/7] Update README.md --- README.md | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index d9b84a2..86c74c6 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,12 @@ - Copy and Paste everything from the zipped file into the repository you cloned in your local - Add the code to git, commit and push it to your upstream branch "main or master" - Confirm that the code exist on GitHub + + - - - -2) Jenkins/Maven/Ansible + - As a shortcut - Just click on the Fork Button on your Github screen. + +3) Jenkins/Maven/Ansible - Create an Amazon Linux 2 VM instance and call it "jenkins-maven-ansible" - Instance type: t2.medium - Security Group (Open): 8080, 9100 and 22 to 0.0.0.0/0 @@ -23,7 +27,7 @@ - User data (Copy the following user data): https://github.com/showmikb/eagles-batch-devops-projects/blob/maven-nexus-sonarqube-jenkins-install/jenkins-install.sh - Launch Instance -3) SonarQube +4) SonarQube - Create an Create an Ubuntu 18.04 VM instance and call it "SonarQube" - Instance type: t2.medium - Security Group (Open): 9000, 9100 and 22 to 0.0.0.0/0 @@ -31,7 +35,7 @@ - User data (Copy the following user data): https://github.com/showmikb/eagles-batch-devops-projects/blob/maven-nexus-sonarqube-jenkins-install/sonarqube-install.sh - Launch Instance -4) Nexus +5) Nexus - Create an Amazon Linux 2 VM instance and call it "Nexus" - Instance type: t2.medium - Security Group (Open): 8081, 9100 and 22 to 0.0.0.0/0 @@ -39,31 +43,31 @@ - User data (Copy the following user data): https://github.com/showmikb/eagles-batch-devops-projects/blob/maven-nexus-sonarqube-jenkins-install/nexus-install.sh - Launch Instance -5) EC2 (Dev/Stage/Prod) +6) EC2 (Dev/Stage/Prod) - Create 3 Amazon Linux 2 VM instance and call them (Names: Dev-Env, Stage-Env and Prod-Env) - Instance type: t2.micro - Security Group (Open): 8080, 9100 and 22 to 0.0.0.0/0 - Key pair: Select or create a new keypair -6) Prometheus +7) Prometheus - Create an Ubuntu 20.04 VM instance and call it "Prometheus" - Instance type: t2.micro - Security Group (Open): 9090 and 22 to 0.0.0.0/0 - Key pair: Select or create a new keypair - Launch Instance -7) Grafana +8) Grafana - Create an Ubuntu 20.04 VM instance and call it "Grafana" - Instance type: t2.micro - Security Group (Open): 3000 and 22 to 0.0.0.0/0 - Key pair: Select or create a new keypair - Launch Instance -8) Slack +9) Slack - Go to the bellow Workspace and create a Private Slack Channel and name it "yourfirstname-jenkins-cicd-pipeline-alerts" - Link: https://app.slack.com/client/T043JRQBB5L/C044F5PH3DE -9) Configure Promitheus +10) Configure Promitheus - Login/SSH to your Prometheus Server - Clone the following repository: https://github.com/awanmbandi/eagles-batch-devops-projects.git - Change directory to "eagles-batch-devops-projects" @@ -72,7 +76,7 @@ - Confirm the status shows "Active (running)" - Exit -10) Configure Grafana +11) Configure Grafana - Login/SSH to your Grafana Server - Clone the following repository: https://github.com/awanmbandi/eagles-batch-devops-projects.git - Change directory to "eagles-batch-devops-projects" @@ -82,7 +86,7 @@ - Confirm the status shows "Active (running)" - Exit -11) Configure The "Node Exporter" accross the "Dev", "Stage" and "Prod" instances including your "Pipeline Infra" +12) Configure The "Node Exporter" accross the "Dev", "Stage" and "Prod" instances including your "Pipeline Infra" - Login/SSH into the "Dev-Env", "Stage-Env" and "Prod-Env" VM instance - Perform the following operations on all of them - Install git by running: sudo yum install git -y @@ -98,7 +102,7 @@ - Prod-EnvPublicIPaddress:9100 (Confirm this page is accessible) - Exit -12) Configure The "Node Exporter" on the "Jenkins-Maven-Ansible", "Nexus" and "SonarQube" instances +13) Configure The "Node Exporter" on the "Jenkins-Maven-Ansible", "Nexus" and "SonarQube" instances - Login/SSH into the "Jenkins-Maven-Ansible", "Nexus" and "SonarQube" VM instance - Perform the following operations on all of them - Install git by running: sudo yum install git -y (The SonarQube server already has git) @@ -114,7 +118,7 @@ - SonarQubePublicIPaddress:9100 - Exit -13) Update the Prometheus config file and include all the IP Addresses of the Pipeline Instances that are +14) Update the Prometheus config file and include all the IP Addresses of the Pipeline Instances that are running the Node Exporter API. That'll include ("Dev", "Stage", "Prod", "Jenkins-Maven-Ansible", "Nexus" and "SonarQube") - SSH into the Prometheus instance either using your GitBash (Windows) or Terminal (macOS) or browser - Run the command: sudo vi /etc/prometheus/prometheus.yml @@ -126,7 +130,7 @@ - Confirm that Prometheus is able to reach everyone of your Nodes, do this by confirming the Status "UP" (green) - Done -14) Open a New Tab on your browser for Grafana also if you've not done so already. +15) Open a New Tab on your browser for Grafana also if you've not done so already. - Copy your Grafana Instance Public IP and put on the browser with port 3000 e.g "GrafanaPublic:3000" - Once the UI Opens pass the following username and password - Username: admin @@ -151,7 +155,7 @@ - Refresh your Grafana Dashbaord - Click on the "Drop Down" for "Host" and select any of the "Instances(IP)" -15) Update Your Jenkins file with your Slack Channel Name +16) Update Your Jenkins file with your Slack Channel Name - Go back to your local, open your "Jenkins-CICD-Project" repo/folder/directory on VSCODE - Open your "Jenkinsfile" - Update the slack channel name on line "97" @@ -159,7 +163,7 @@ - Add the changes to git, commit and push to GitHub - Confirm the changes reflects on GitHub -16) Copy your Jenkins Public IP Address and paste on the browser = ExternalIP:8080 +17) Copy your Jenkins Public IP Address and paste on the browser = ExternalIP:8080 - Login to your Jenkins instance using your Shell (GitBash or your Mac Terminal) - Copy the Path from the Jenkins UI to get the Administrator Password - Run: `sudo cat /var/lib/jenkins/secrets/initialAdminPassword` @@ -171,7 +175,7 @@ - Name and Email can also be admin. You can use `admin` all through as we - Continue and Start using Jenkins -17) Once on the Jenkins Dashboard +18) Once on the Jenkins Dashboard - Click on "Manage Jenkins" - Click on "Plugin Manager" - Click "Available" @@ -183,4 +187,4 @@ - Slack Notification - Install all plugings without restart -18) Confirm and make test your installations/setups +19) Confirm and make test your installations/setups