You should make lot of technical videos. So patient, clear, concise but enough detail nevertheless. Non nonsense stuff. Really really liked the video, I'll keep coming back to the tutorial again and again. Thank you!
Good stuff, thank you for the work you put in to make this easy to understand. I'm pretty new to web dev in general and could've used a little more context on setting Jenkins up on an EC2 instance but I'll figure it out elsewhere. Please keep em coming!
Hey Andrew, here are steps to follow for EC2 Launch: 1. Sign in to the AWS Management Console. 2. Open the Amazon EC2 console by choosing EC2 under Compute. 3. From the Amazon EC2 dashboard, choose Launch Instance. 4. The Choose an Amazon Machine Image (AMI) page displays a list of basic configurations called Amazon Machine Images (AMIs) that serve as templates for your instance. Select the HVM edition of the Amazon Linux AMI (ami-08e4e35cccc6189f4). 5. Notice that this configuration is marked Free tier eligible. 6. On the Choose an Instance Type page, the t2.micro instance is selected by default. Keep this instance type to stay within the free tier. Next: Configure Instance Details. On Configure page: Number of instances: 1 Network: Select the VPC with public access Subnet: Select the subnet with public access Auto-Assign Public IP: Select this Enable if you want public IP to be attached to the instance. Click on Next: Add Storage On Storage page: Update the Storage size to 15 GB(30 GB free in the free tier for 1 year) Click on Next: Add Tags On the Tags page, provide the relevant tags and then click on Next: Configure Security Group On Security group page: Select security group if available else create a one and allow following Ports Http: 8080 for 0.0.0.0/0 Https: 443 for 0.0.0.0/0 Tcp: 22 for Your IP Click on Review and Launch On Review and Launch page: Review the configurations Click on the Launch button Select the Key pair to launch or create a new if not created and Download the newly created key pair Check the checkbox and Click On Launch instances Jenkins Setup: Connect to the EC2 Wait for the ec2 server to get up (Check on the Ec2 console for the instance status check - Both checks should be passed) On your local machine open the terminal and execute the following command to connect to the instance` ssh -i ec2-user@ Replace by your keypair path and with the EC2 Public IP You will see the authenticity of the host message - Enter yes Login to the ec2 successful Download & Start Jenkins Service: To ensure that your software packages are up to date on your instance, use the following command to perform a quick software update: sudo yum update -y Add the Jenkins repo using the following command: sudo wget -O /etc/yum.repos.d/jenkins.repo pkg.jenkins.io/redhat-stable/jenkins.repo Import a key file from Jenkins-CI to enable installation from the package: sudo rpm --import pkg.jenkins.io/redhat-stable/jenkins.io.key sudo yum upgrade Install Jenkins: sudo yum install Jenkins java-1.8.0-openjdk-devel -y Start Jenkins Service: sudo systemctl daemon-reload sudo systemctl start Jenkins sudo systemctl status Jenkins sudo systemctl enable Jenkins Configure Jenkins: Connect to :8080 from your favourite browser. You will be able to access Jenkins through its management interface: You will be asked to enter the initialAdminPassword, copy the secret from /var/lib/jenkins/secrets/initialAdminPassword from the EC2 machine by using the following command: sudo cat /var/lib/jenkins/secrets/initialAdminPassword The Jenkins installation script directs you to the Customize Jenkins page. Click Install suggested plugins. Once the installation is complete, Create First Admin User, click Save and Continue. You will now see the dashboard page of Jenkins and can create new jobs.
Hello Moss, I really liked your very good explanation. Also you have a very good pronunciation to us, not native speakers! The only problem is that you were working from localhost and then magically went to AWS with your jenkins.
Glad it was helpful! We need public IP of Jenkins server to setup the webbook in GitHub( also mentioned in the pre-requisite of that video). In order to achieve GitHub-Jenkins integration we have moved our local Jenkins installations to AWS EC2 machine. You may follow the same process to create the Jenkins server on AWS EC2 machine and by using EC2 public IP you can configure webbook as well.
As an absolute beginner, I can say that it would be nice if you walked people through setting up that simple git repo so we could follow along with you. Also, you do assume the viewer knows certain things, such as when you cat the keys. You did it so quickly I had a hard time pausing the video to see exactly what you were catting. Just some thoughts on what I have seen so far.
Username it takes is "jenkins" while setting up the key credentials, and then we need to switch to that user (in cli) in order to generate key pair to make git connection work. here are the steps 1. switch to jenkins user sudo su - jenkins -s /bin/bash 2. Generate key pair ssh-keygen 3. Configure private key in jenkins as described 4. Configure public key on git repository side in deploy key section 5. Test connection, it should work. Note: This steps are for jenkins in local machine , ubuntu 20.04.
Greate job by putting up all these stuff together. Thank you! It seems the order of the chapters of creating agent on linux and windows should be swapped though.
Teacher, I have a question... When you joined the Jenkins integration class with the GIT HUB, your jenkins moved from location to an instance on AWS... In order to proceed with the integration and the labs in the class, I need to abandon my local installation and install again jenkins in an instance on AWS?
Hey, We need the public IP of the Jenkins server to set up the webhook in GitHub( also mentioned in the pre-requisite of this video). In order to achieve Github-Jenkins integration, we have moved our local Jenkins installations to AWS EC2 machine. You may follow the same process to create the Jenkins server on AWS EC2 machine and by using EC2 public IP you can configure webhook as well.
Thanks for the comprehensive overview of Jenkins, very well explained and articulated. One q, if I want to set my local machine with public address( haven't installed Jenkins on my GCP yet) can you recommend an easy way to do this? I've heard ngrok can accomplish this, but what would you recommend? Many thanks!
Hey Corry, We had a similar desire to be able to access web services remotely. We considered using ngrok, but in our case, we didn't want to have separate public addresses for each service we were running on our network (services hosted on Raspberry Pis). Instead, we wanted to be able to operate as though our machine was connected to our network. For this use case, we used PiVPN, which helps you configure a VPN server. However, with your use case, we think ngrok might be an ideal choice since it is only the Jenkins service that you would like to expose. Having said that, our experience is still limited in this area, so we encourage you to do some additional research before making a final decision. We hope this helps!"
Thanks for the great intro for far and I can already feel it's a great walk with you. How can I change the language interface to English on my Dashboard please ?
Hey Tito, you can try navigating to the main/home page of Jenkins, go to Manage Jenkins -> Configure System. Under Locale, there will be a field called "Default Language". Enter the new language. It could be "en" or "ENGLISH".
Thanks for this amazing tutorial. I had an issue with trying to set up the web hook, cant use local host url of course. Is there a work around this ? did i miss something ?
Hey there, Thank you for your feedback on the tutorial! To create a webhook for Jenkins running on localhost, use a tunneling service like ngrok to expose your local server to the internet: Set Up ngrok: Download and set up ngrok from ngrok.com. Start ngrok Tunnel: Run ngrok to expose Jenkins. If Jenkins is on port 8080: ngrok http 8080 This gives you a public URL (e.g., 123abc.ngrok.io). Use ngrok URL for Webhook: In GitHub or Bitbucket, set the webhook URL to the ngrok URL, followed by /github-webhook/ (e.g., 123abc.ngrok.io/github-webhook/). Update Jenkins if Needed: Ensure Jenkins accepts requests from the ngrok URL.
Moss, thank you so much for this tutorial. I unfortunately had a DevOps interview that didn't go too well as I had knowledge of AWS, Docker, Kubernetes but not Jenkins. Would you recommend any resources for building a project for a resume/github relating to Jenkins? Thanks for the video!
Hey Bill, you can go through this blog link (devopscube.com/jenkins-build-trigger-github-pull-request/) where CI has been explained very nicely which is the core principle of DevOps culture. It connects GitHub and Jenkins both.
Hey Moss, @LambdaTest This is an absolutely amazing video. You have no idea how helpful it is even for an absolute beginner. One can do an entire set up by watching this video of yours. One thing I could not get is the 'vi ~/.ssh/authorized_keys' command in the agent VM. I believe many others also might have faced the same problem. For me the system said, "Can't open file for writing." Does, this file need to be created beforehand or are there any more steps which you skipped in the video. Please enlighten the audience. Regards MossFan :)
@@LambdaTest GoodMorning Moss, Is the command 'vi ~/.ssh/authorized_keys' in the agent VM only applicable for Linux machines or is it doable in Windows machine too. My windows machine says- 'Can't open file for writing'. Please help.
Hi Kaushit, I think it has something do with the permissions of the file you're trying to configure/edit or it has to with the permissions attached with the user. If its the file permission, then you may need to give it write access by chmod +x filename, is what I think. Please google once and then try to edit the file. Or you can simply go to the directory of the file and do an ls -l, which will list the permissions attached. I hope this helps
Hey Mosh so i learned Github Actions and Gitlab also in my opinion jenkins does i guess the same thing whats the point of learning jenkins when u can make CI/CD piplines using github actions i know ansible docker aws and basic knowldge of networking and load balancers i am learning it whats thye point of learning jenkins, Thanks in advance
Hey Hassan, Both Jenkins and GitLab CI/CD have their own pros and cons and your final choice between the two CI/CD tools entirely depends upon the project requirements and specification. Hope that helps :)
Thanks Anant! No, it is not redundant to configure both a GitHub public access token and a GitHub SSH key in Jenkins, as they serve different purposes and may be required for different Jenkins jobs. The access token is used for read-only operations, while the SSH key is used for write operations.
@@LambdaTestThat’s very helpful, thank you :) … One more question, do I need to have git installed on the agent nodes as well, or installing it on controller will suffice ? And many apologies i could check it out practically as well, but haven’t had time to spare lately.
Hey Anant If your Jenkins setup has a controller and agent nodes requiring Git operations, you need to install Git on each agent node. Installing Git on the controller alone will not suffice for executing Git operations on the agents.
Hey, We moved our local Jenkins installations to AWS EC2 machine in order to achieve Github-Jenkins integration. We need the public IP of the Jenkins server to set up the webhook in GitHub ( also mentioned in the pre-requisite of this video). You may follow the same process to create the Jenkins server on AWS EC2 machine and by using EC2 public IP you can configure webhook as well.
@@wuyeelok We can follow this aws official doc to launch an ec2 instance on AWS ec2-immersionday.workshop.aws/launch-your-first-amazon-ec2-instance.html. Once we successfully create an ec2 instance, then we can install Jenkins as per the steps in the video.
Trying to update the url through jenkins url location in settings but the url stays at localhost even after restarting the app. Is there a way to visibly change the url for jenkins?
Hey Zion 👋🏻 Can you try with Manage Jenkins > Configure System there's a field Jenkins URL where you can specify exactly that. Please let us know if this helps.
@@LambdaTest Hello again, now I am trying to connect gitlab with jenkins to make an integration but when I configure the conection in jenkins to gitlab and make a test conection, it showme this message "error HTTP 503 service unvailable", all is ok, the onlyone thing is that I have a proxy in the network so can you help me about that? Best regards.
Hey, you can try installing the Selenium package by running the below command: pip install selenium or depending on your permissions: sudo pip install selenium For python3: sudo pip3 install selenium
Hey, In order to achieve Github-Jenkins integration, we have moved our local Jenkins installations to AWS EC2 machine. We need the public IP of the Jenkins server to set up the webhook in GitHub ( also mentioned in the pre-requisite of this video). You may follow the same process to create the Jenkins server on AWS EC2 machine and by using EC2 public IP you can configure webhook as well.
Hey Christopher, In order to achieve Github-Jenkins integration, we have moved our local Jenkins installations to AWS EC2 machine. You may follow the below process to create the Jenkins server on an AWS EC2 machine and by using EC2 public IP you can configure the webhook as well: EC2 Launch: Sign in to the the AWS Management Console. Open the Amazon EC2 console by choosing EC2 under Compute. From the Amazon EC2 dashboard, choose Launch Instance. The Choose an Amazon Machine Image (AMI) page displays a list of basic configurations called Amazon Machine Images (AMIs) that serve as templates for your instance. Select the HVM edition of the Amazon Linux AMI (ami-08e4e35cccc6189f4). Notice that this configuration is marked Free tier eligible. On the Choose an Instance Type page, the t2.micro instance is selected by default. Keep this instance type to stay within the free tier. Next:Configure Instance Details. On Configure page: Number of instance: 1 Network: Select the VPC with public access Subnet: Select the subnet with public access Auto-Assign Public IP: Select this Enable if you want public IP to be attached on the instance. Click on Next:Add Storage On Storage page: Update the Storage size to 15gb(30 gb free in free tier for 1 year) Click on Next:Add Tags On Tags page, provide the relevant tags and then click on Next:Configure Security Group On Security group page: Select security group if available else create a one and allow following Ports Http: 8080 for 0.0.0.0/0 Https: 443 for 0.0.0.0/0 Tcp: 22 for Your IP Click on Review and Launch On Review and Launch page: Review the configurations Click on Launch button Select the Key pair to launch or create a new if not created and Download the newly created key pair Check the checkbox and Click On Launch instances Jenkins Setup: Connect to the EC2 Wait for the ec2 server to get up (Check on the Ec2 console for the instance status check - Both checks should be passed) On your local machine open terminal and execute the following command to connect to the instance` ssh -i ec2-user@ Replace by your kepair path and with the EC2 Public IP You will see authenticity of the host message - Enter yes Login to the ec2 successfull Download & Start Jenkins Service: To ensure that your software packages are up to date on your instance, use the following command to perform a quick software update: sudo yum update -y Add the Jenkins repo using the following command: sudo wget -O /etc/yum.repos.d/jenkins.repo pkg.jenkins.io/redhat-stable/jenkins.repo Import a key file from Jenkins-CI to enable installation from the package: sudo rpm --import pkg.jenkins.io/redhat-stable/jenkins.io.key sudo yum upgrade Install Jenkins: sudo yum install jenkins java-1.8.0-openjdk-devel -y Start Jenkins Service: sudo systemctl daemon-reload sudo systemctl start jenkins sudo systemctl status jenkins sudo systemctl enable jenkins Configure Jenkins: Connect to :8080 from your favorite browser. You will be able to access Jenkins through its management interface: You will be asked to enter the initialAdminPassword, copy the secret from /var/lib/jenkins/secrets/initialAdminPassword from the EC2 machine by using following command: sudo cat /var/lib/jenkins/secrets/initialAdminPassword The Jenkins installation script directs you to the Customize Jenkins page. Click Install suggested plugins. Once the installation is complete, Create First Admin User, click Save and Continue. You will now see the dashboard page of the Jenkins and can create New jobs.
@@LambdaTest hey, I faced that problem at 46:16 when using that way of jenkins' installation but when starting it using the war file it works as expected, what is the cause of that problem? // I tried to upgrade the java jdk and it doesn't work
Hello, This morning I upgraded my Mac, and unfortunately I lost all my Jenkins jobs, settings, and plugins ... Has anyone ever encountered this problem and how did they solve it. I thank you Have a nice day
This is a really good tutorial but the background sound that played while you spoke should either be stripped off or have its volume significantly reduced. It was very distracting and annoying.
i spent money on a tutorial on Udemy and here i am ... this tutorial is more detailed than the one i spent money on. thank you
Great to hear Tarik!
same, browsing through Udemy Jenkins course but none of them is better than this youtube marathon. Kudo for lambdatest
This is the best tutorial I have ever seen on Jenkins.
Thanks Guang
Totally agreed! This is the best. Think it is so good that all level of proficiency of jenkins can catch on easily and learn something.
Hi Moss, appreciate the step by step explanation and walkthrough, I find it very helpful in my course of work!
Glad it was helpful!
You should make lot of technical videos. So patient, clear, concise but enough detail nevertheless. Non nonsense stuff. Really really liked the video, I'll keep coming back to the tutorial again and again. Thank you!
Thanks Nagaraj for your feedback.
Glad that you are liking our videos. This surely motivates us to create more such videos
Good stuff, thank you for the work you put in to make this easy to understand. I'm pretty new to web dev in general and could've used a little more context on setting Jenkins up on an EC2 instance but I'll figure it out elsewhere. Please keep em coming!
Glad you liked it Andrew
Hey Andrew, here are steps to follow for EC2 Launch:
1. Sign in to the AWS Management Console.
2. Open the Amazon EC2 console by choosing EC2 under Compute.
3. From the Amazon EC2 dashboard, choose Launch Instance.
4. The Choose an Amazon Machine Image (AMI) page displays a list of basic configurations called Amazon Machine Images (AMIs) that serve as templates for your instance. Select the HVM edition of the Amazon Linux AMI (ami-08e4e35cccc6189f4). 5. Notice that this configuration is marked Free tier eligible.
6. On the Choose an Instance Type page, the t2.micro instance is selected by default. Keep this instance type to stay within the free tier.
Next: Configure Instance Details.
On Configure page:
Number of instances: 1
Network: Select the VPC with public access
Subnet: Select the subnet with public access
Auto-Assign Public IP: Select this Enable if you want public IP to be attached to the instance.
Click on Next: Add Storage
On Storage page:
Update the Storage size to 15 GB(30 GB free in the free tier for 1 year)
Click on Next: Add Tags
On the Tags page, provide the relevant tags and then click on Next: Configure Security Group
On Security group page:
Select security group if available else create a one and allow following Ports
Http: 8080 for 0.0.0.0/0
Https: 443 for 0.0.0.0/0
Tcp: 22 for Your IP
Click on Review and Launch
On Review and Launch page:
Review the configurations
Click on the Launch button
Select the Key pair to launch or create a new if not created and Download the newly created key pair
Check the checkbox and Click On Launch instances
Jenkins Setup:
Connect to the EC2
Wait for the ec2 server to get up (Check on the Ec2 console for the instance status check - Both checks should be passed)
On your local machine open the terminal and execute the following command to connect to the instance`
ssh -i ec2-user@
Replace by your keypair path and with the EC2 Public IP
You will see the authenticity of the host message - Enter yes
Login to the ec2 successful
Download & Start Jenkins Service:
To ensure that your software packages are up to date on your instance, use the following command to perform a quick software update:
sudo yum update -y
Add the Jenkins repo using the following command:
sudo wget -O /etc/yum.repos.d/jenkins.repo pkg.jenkins.io/redhat-stable/jenkins.repo
Import a key file from Jenkins-CI to enable installation from the package:
sudo rpm --import pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum upgrade
Install Jenkins:
sudo yum install Jenkins java-1.8.0-openjdk-devel -y
Start Jenkins Service:
sudo systemctl daemon-reload
sudo systemctl start Jenkins
sudo systemctl status Jenkins
sudo systemctl enable Jenkins
Configure Jenkins:
Connect to :8080 from your favourite browser. You will be able to access Jenkins through its management interface:
You will be asked to enter the initialAdminPassword, copy the secret from /var/lib/jenkins/secrets/initialAdminPassword from the EC2 machine by using the following command:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
The Jenkins installation script directs you to the Customize Jenkins page. Click Install suggested plugins.
Once the installation is complete, Create First Admin User, click Save and Continue.
You will now see the dashboard page of Jenkins and can create new jobs.
@@LambdaTest This is really worth praising that you actually replied with all the steps in a comment. This means a lot. Hope you get more views..
Moss, this is crystal clear, well constructed video. Good job. You have great explanation skills.
Glad it was helpful!
Subscribe, and look forward to more such tutorials! ✨
Hello Moss, I really liked your very good explanation. Also you have a very good pronunciation to us, not native speakers! The only problem is that you were working from localhost and then magically went to AWS with your jenkins.
Glad it was helpful!
We need public IP of Jenkins server to setup the webbook in GitHub( also mentioned in the pre-requisite of that video). In order to achieve GitHub-Jenkins integration we have moved our local Jenkins installations to AWS EC2 machine.
You may follow the same process to create the Jenkins server on AWS EC2 machine and by using EC2 public IP you can configure webbook as well.
As an absolute beginner, I can say that it would be nice if you walked people through setting up that simple git repo so we could follow along with you. Also, you do assume the viewer knows certain things, such as when you cat the keys. You did it so quickly I had a hard time pausing the video to see exactly what you were catting. Just some thoughts on what I have seen so far.
Hey Runeblade, thanks for your feedback. Will try to incorporate your inputs while trying to create next set of videos
Username it takes is "jenkins" while setting up the key credentials, and then we need to switch to that user (in cli) in order to generate key pair to make git connection work.
here are the steps
1. switch to jenkins user
sudo su - jenkins -s /bin/bash
2. Generate key pair
ssh-keygen
3. Configure private key in jenkins as described
4. Configure public key on git repository side in deploy key section
5. Test connection, it should work.
Note: This steps are for jenkins in local machine , ubuntu 20.04.
Thanks mihir🖐🏻
Thanks Moss, this was really a great help!
Glad you liked the video,
Please subscribe to our UA-cam channel for more such videos 🌟
awesome, thanks a lot for the video. Highly appreciated.
Thanks Effaceurs
There is a special place in Paradise for people like You!
Hey ArsenGTS, thanks for your kind words
Nicely demonstrated.
50:55 Don't forget the forward slash at the end! It will save you a lot of time trying to troubleshoot that!
Hey Heber, Thanks for your input. :)
You are the best Mosh, really great video!
Thanks George
Greate job by putting up all these stuff together. Thank you! It seems the order of the chapters of creating agent on linux and windows should be swapped though.
Glad it was helpful! and Thanks for the suggestion :)
Teacher, I have a question...
When you joined the Jenkins integration class with the GIT HUB, your jenkins moved from location to an instance on AWS... In order to proceed with the integration and the labs in the class, I need to abandon my local installation and install again jenkins in an instance on AWS?
Hey, We need the public IP of the Jenkins server to set up the webhook in GitHub( also mentioned in the pre-requisite of this video). In order to achieve Github-Jenkins integration, we have moved our local Jenkins installations to AWS EC2 machine.
You may follow the same process to create the Jenkins server on AWS EC2 machine and by using EC2 public IP you can configure webhook as well.
You're incredible, thanks
Thanks Abubakr, Glad you liked it ✨
Very nice and concise Jenkins Training
Glad you liked it!
Thanks for the comprehensive overview of Jenkins, very well explained and articulated. One q, if I want to set my local machine with public address( haven't installed Jenkins on my GCP yet) can you recommend an easy way to do this? I've heard ngrok can accomplish this, but what would you recommend? Many thanks!
Thanks Corry.
Let us get back to you on this.
Hey Corry,
We had a similar desire to be able to access web services remotely. We considered using ngrok, but in our case, we didn't want to have separate public addresses for each service we were running on our network (services hosted on Raspberry Pis). Instead, we wanted to be able to operate as though our machine was connected to our network. For this use case, we used PiVPN, which helps you configure a VPN server. However, with your use case, we think ngrok might be an ideal choice since it is only the Jenkins service that you would like to expose. Having said that, our experience is still limited in this area, so we encourage you to do some additional research before making a final decision. We hope this helps!"
Thanks for the great intro for far and I can already feel it's a great walk with you.
How can I change the language interface to English on my Dashboard please ?
Hey Tito, you can try navigating to the main/home page of Jenkins, go to Manage Jenkins -> Configure System. Under Locale, there will be a field called "Default Language". Enter the new language. It could be "en" or "ENGLISH".
@@LambdaTest Thanks a lot for your reply. Really appreciate
it ;)
Thank you for amazing videos .Really appreciated !!
Glad you like them!
Moss, Thank you body.. Great content
Thanks Ahmed!
Thanks a lot my friend
Glad it was helpful.
Please subscribe to our UA-cam channel for more such videos 🌟
Thanks for this amazing tutorial. I had an issue with trying to set up the web hook, cant use local host url of course. Is there a work around this ? did i miss something ?
Hey Enrique, Can you elaborate more on the issue you are facing
@@LambdaTest I'm running Jenkins on local host and the url is not being accepted into workbooks,
Let me get back to you on this Enrique
Thank you a lot, it's great, but the music sounds strange
Hey Alim, Thanks for liking the video. Sorry about the music, will try to remove it form the next time.
i am not able to create a webhook as i am running locally as a local host how is your webhook not having error pls help with this
btw great tutorial..
Hey there,
Thank you for your feedback on the tutorial!
To create a webhook for Jenkins running on localhost, use a tunneling service like ngrok to expose your local server to the internet:
Set Up ngrok: Download and set up ngrok from ngrok.com.
Start ngrok Tunnel: Run ngrok to expose Jenkins. If Jenkins is on port 8080:
ngrok http 8080
This gives you a public URL (e.g., 123abc.ngrok.io).
Use ngrok URL for Webhook: In GitHub or Bitbucket, set the webhook URL to the ngrok URL, followed by /github-webhook/ (e.g., 123abc.ngrok.io/github-webhook/).
Update Jenkins if Needed: Ensure Jenkins accepts requests from the ngrok URL.
Hi Moss, you migrated from using jenkins on your local machine to aws cloud. Can you explain this process please? Thank you.
Moss, thank you so much for this tutorial. I unfortunately had a DevOps interview that didn't go too well as I had knowledge of AWS, Docker, Kubernetes but not Jenkins. Would you recommend any resources for building a project for a resume/github relating to Jenkins? Thanks for the video!
Hey Bill, Sorry to hear that. Let us get back to you on this
@@LambdaTest Appreciated :)
Hey Bill, you can go through this blog link (devopscube.com/jenkins-build-trigger-github-pull-request/) where CI has been explained very nicely which is the core principle of DevOps culture. It connects GitHub and Jenkins both.
Hi Moss you can smile sometimes in the video😃
Of course! 😊 I'll definitely keep that in mind for the next video. Thanks for the feedback!
Hey Moss,
@LambdaTest
This is an absolutely amazing video. You have no idea how helpful it is even for an absolute beginner.
One can do an entire set up by watching this video of yours.
One thing I could not get is the 'vi ~/.ssh/authorized_keys' command in the agent VM. I believe many others also might have faced the same problem.
For me the system said, "Can't open file for writing."
Does, this file need to be created beforehand or are there any more steps which you skipped in the video.
Please enlighten the audience.
Regards
MossFan :)
Glad! you liked it
@@LambdaTest GoodMorning Moss, Is the command 'vi ~/.ssh/authorized_keys' in the agent VM only applicable for Linux machines or is it doable in Windows machine too. My windows machine says- 'Can't open file for writing'. Please help.
Hi Kaushit, I think it has something do with the permissions of the file you're trying to configure/edit or it has to with the permissions attached with the user.
If its the file permission, then you may need to give it write access by chmod +x filename, is what I think. Please google once and then try to edit the file. Or you can simply go to the directory of the file and do an ls -l, which will list the permissions attached. I hope this helps
Chmod +w for write access
@@raghavendramerugu Thank you Raghav.😊
Hey Mosh so i learned Github Actions and Gitlab also in my opinion jenkins does i guess the same thing whats the point of learning jenkins when u can make CI/CD piplines using github actions i know ansible docker aws and basic knowldge of networking and load balancers i am learning it whats thye point of learning jenkins, Thanks in advance
Hey Hassan, let us get back to you on this
Hey Hassan, Both Jenkins and GitLab CI/CD have their own pros and cons and your final choice between the two CI/CD tools entirely depends upon the project requirements and specification. Hope that helps :)
Splendid! I have a question though,
Is it necessary to configure both Github public access token and Github ssh key in Jenkins, isnt it redundant?
Thanks Anant!
No, it is not redundant to configure both a GitHub public access token and a GitHub SSH key in Jenkins, as they serve different purposes and may be required for different Jenkins jobs. The access token is used for read-only operations, while the SSH key is used for write operations.
@@LambdaTestThat’s very helpful, thank you :) … One more question, do I need to have git installed on the agent nodes as well, or installing it on controller will suffice ? And many apologies i could check it out practically as well, but haven’t had time to spare lately.
Hey Anant
If your Jenkins setup has a controller and agent nodes requiring Git operations, you need to install Git on each agent node. Installing Git on the controller alone will not suffice for executing Git operations on the agents.
i really like your video, this video is very helpfull if not one of the most helpfull jenkins tutorial, but please get yourself a code formatter 😂.
Thanks for the tip!
How to install Jenkins in AWS??? And how to get an AWS EC2 in the first place?
Hi Kenneth, Let us get back to you on this
Hey, We moved our local Jenkins installations to AWS EC2 machine in order to achieve Github-Jenkins integration. We need the public IP of the Jenkins server to set up the webhook in GitHub ( also mentioned in the pre-requisite of this video).
You may follow the same process to create the Jenkins server on AWS EC2 machine and by using EC2 public IP you can configure webhook as well.
@@LambdaTest Sorry, I couldn't find the prerequisites you mentioned.
@@wuyeelok We can follow this aws official doc to launch an ec2 instance on AWS ec2-immersionday.workshop.aws/launch-your-first-amazon-ec2-instance.html. Once we successfully create an ec2 instance, then we can install Jenkins as per the steps in the video.
Awesome
Trying to update the url through jenkins url location in settings but the url stays at localhost even after restarting the app. Is there a way to visibly change the url for jenkins?
Hey Zion 👋🏻
Can you try with Manage Jenkins > Configure System there's a field Jenkins URL where you can specify exactly that.
Please let us know if this helps.
Hi mister master Moss
My name is josé Manuel so, can you explain how will it be the integration of Maven project with gitlab?
Best regards.
Sorry the video tells it in the first hour, hahahahahaha.
Best regards.
🖖🏻🤟
@@LambdaTest Hello again, now I am trying to connect gitlab with jenkins to make an integration but when I configure the conection in jenkins to gitlab and make a test conection, it showme this message "error HTTP 503 service unvailable", all is ok, the onlyone thing is that I have a proxy in the network so can you help me about that?
Best regards.
I keep getting ModuleNotFoundError: No module named 'selenium' when doing the Cross-browser testing. Anybody figured out how to resolve this?
Hey biscuithammer,
Let us get back to you on this
@@LambdaTest Thanks! Great tutorial btw! :D
Hey,
you can try installing the Selenium package by running the below command:
pip install selenium
or depending on your permissions:
sudo pip install selenium
For python3:
sudo pip3 install selenium
after restart my pw did not work any longer worked on local, so that ended. this video
Bloop, That could have happened due to lot of different reasons. Please give another try ;)
50:43 How did we move from localhost to AWS?
Hey, In order to achieve Github-Jenkins integration, we have moved our local Jenkins installations to AWS EC2 machine. We need the public IP of the Jenkins server to set up the webhook in GitHub ( also mentioned in the pre-requisite of this video).
You may follow the same process to create the Jenkins server on AWS EC2 machine and by using EC2 public IP you can configure webhook as well.
@@LambdaTest, thanks :)
When do you go from a localhost configuration to hosting on an Amazon EC2 instance?
Hey Christopher,
In order to achieve Github-Jenkins integration, we have moved our local Jenkins installations to AWS EC2 machine.
You may follow the below process to create the Jenkins server on an AWS EC2 machine and by using EC2 public IP you can configure the webhook as well:
EC2 Launch:
Sign in to the the AWS Management Console.
Open the Amazon EC2 console by choosing EC2 under Compute.
From the Amazon EC2 dashboard, choose Launch Instance.
The Choose an Amazon Machine Image (AMI) page displays a list of basic configurations called Amazon Machine Images (AMIs) that serve as templates for your instance. Select the HVM edition of the Amazon Linux AMI (ami-08e4e35cccc6189f4). Notice that this configuration is marked Free tier eligible.
On the Choose an Instance Type page, the t2.micro instance is selected by default. Keep this instance type to stay within the free tier. Next:Configure Instance Details.
On Configure page:
Number of instance: 1
Network: Select the VPC with public access
Subnet: Select the subnet with public access
Auto-Assign Public IP: Select this Enable if you want public IP to be attached on the instance.
Click on Next:Add Storage
On Storage page:
Update the Storage size to 15gb(30 gb free in free tier for 1 year)
Click on Next:Add Tags
On Tags page, provide the relevant tags and then click on Next:Configure Security Group
On Security group page:
Select security group if available else create a one and allow following Ports
Http: 8080 for 0.0.0.0/0
Https: 443 for 0.0.0.0/0
Tcp: 22 for Your IP
Click on Review and Launch
On Review and Launch page:
Review the configurations
Click on Launch button
Select the Key pair to launch or create a new if not created and Download the newly created key pair
Check the checkbox and Click On Launch instances
Jenkins Setup:
Connect to the EC2
Wait for the ec2 server to get up (Check on the Ec2 console for the instance status check - Both checks should be passed)
On your local machine open terminal and execute the following command to connect to the instance`
ssh -i ec2-user@
Replace by your kepair path and with the EC2 Public IP
You will see authenticity of the host message - Enter yes
Login to the ec2 successfull
Download & Start Jenkins Service:
To ensure that your software packages are up to date on your instance, use the following command to perform a quick software update:
sudo yum update -y
Add the Jenkins repo using the following command:
sudo wget -O /etc/yum.repos.d/jenkins.repo pkg.jenkins.io/redhat-stable/jenkins.repo
Import a key file from Jenkins-CI to enable installation from the package:
sudo rpm --import pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum upgrade
Install Jenkins:
sudo yum install jenkins java-1.8.0-openjdk-devel -y
Start Jenkins Service:
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl status jenkins
sudo systemctl enable jenkins
Configure Jenkins:
Connect to :8080 from your favorite browser. You will be able to access Jenkins through its management interface:
You will be asked to enter the initialAdminPassword, copy the secret from /var/lib/jenkins/secrets/initialAdminPassword from the EC2 machine by using following command:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
The Jenkins installation script directs you to the Customize Jenkins page. Click Install suggested plugins.
Once the installation is complete, Create First Admin User, click Save and Continue.
You will now see the dashboard page of the Jenkins and can create New jobs.
@@LambdaTest hey, I faced that problem at 46:16 when using that way of jenkins' installation but when starting it using the war file it works as expected, what is the cause of that problem? // I tried to upgrade the java jdk and it doesn't work
Hello,
This morning I upgraded my Mac, and unfortunately I lost all my Jenkins jobs, settings, and plugins ...
Has anyone ever encountered this problem and how did they solve it.
I thank you
Have a nice day
🤖
good
This is a really good tutorial but the background sound that played while you spoke should either be stripped off or have its volume significantly reduced. It was very distracting and annoying.
Hey Kelechi, Sorry for the background distraction. Will try to avoid or cut any such distractions/sound while creating the next video :)
Learn by doing 😉
You can use Brainboard.co to learn Jenkins!
We also have a Jenkins Templates available for the community to duplicate and scale.
Thanks for sharing it Stephane!