forked from iam-veeramalla/Jenkins-Zero-To-Hero
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 50977b2
Showing
1 changed file
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
# Jenkins-Zero-To-Hero | ||
Install Jenkins, configure Docker as slave, set up cicd, deploy applications to k8s and much more. | ||
|
||
To start with we will create 2 ec2 instances on AWS where we will use one instance as Jenkins Master and the other one as Jenkins Slave. | ||
|
||
``` | ||
``` | ||
|
||
On the first instance, Install Jenkins. | ||
|
||
Pre-Requisites: | ||
- Java (JDK) | ||
|
||
Run the below commands to install Java and Jenkins | ||
|
||
Install Java | ||
|
||
``` | ||
sudo apt update | ||
sudo apt install openjdk-11-jre | ||
``` | ||
|
||
Verify Java is Installed | ||
|
||
``` | ||
java -version | ||
``` | ||
|
||
Now, you can proceed with installing Jenkins | ||
|
||
``` | ||
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \ | ||
/usr/share/keyrings/jenkins-keyring.asc > /dev/null | ||
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \ | ||
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \ | ||
/etc/apt/sources.list.d/jenkins.list > /dev/null | ||
sudo apt-get update | ||
sudo apt-get install jenkins | ||
``` | ||
|
||
By default, Jenkins will not be accessible to the external world due to the inbound traffic restriction by AWS. But in this case, you should be able to | ||
acccess the Jenkins from your browser as we have configured the inbound traffic rules to allow `All Trrafic` during the creation of instance. | ||
|
||
Login to Jenkins using the below URL: | ||
|
||
http://<ec2-instance-public-ip-address>:8080 [You can get the ec2-instance-public-ip-address from your AWS EC2 console page] | ||
|
||
Note: If you are not interested in allowing `All Traffic` to your EC2 instance | ||
1. Delete the inbound traffic rule for your instance | ||
2. Edit the inbound traffic rule to only allow custom TCP port `8080` | ||
|
||
After you login to Jenkins, | ||
- Run the command to copy the Jenkins Admin Password - `sudo cat /var/lib/jenkins/secrets/initialAdminPassword` | ||
- Enter the Administrator password | ||
|
||
<img width="1291" alt="Screenshot 2023-02-01 at 10 56 25 AM" src="https://user-images.githubusercontent.com/43399466/215959008-3ebca431-1f14-4d81-9f12-6bb232bfbee3.png"> | ||
|
||
Click on Install suggested plugins | ||
|
||
<img width="1291" alt="Screenshot 2023-02-01 at 10 58 40 AM" src="https://user-images.githubusercontent.com/43399466/215959294-047eadef-7e64-4795-bd3b-b1efb0375988.png"> | ||
|
||
Wait for the Jenkins to Install suggested plugins | ||
|
||
<img width="1291" alt="Screenshot 2023-02-01 at 10 59 31 AM" src="https://user-images.githubusercontent.com/43399466/215959398-344b5721-28ec-47a5-8908-b698e435608d.png"> | ||
|
||
Create First Admin User or Skip the step [If you want to use this Jenkins instance for future use-cases as well, better to create admin user] | ||
|
||
<img width="990" alt="Screenshot 2023-02-01 at 11 02 09 AM" src="https://user-images.githubusercontent.com/43399466/215959757-403246c8-e739-4103-9265-6bdab418013e.png"> | ||
|
||
Jenkins Installation is Successful. You can now starting using the Jenkins |