{"id":2824,"date":"2023-01-13T22:37:46","date_gmt":"2023-01-13T22:37:46","guid":{"rendered":"https:\/\/devclouds.io\/blog\/?p=2824"},"modified":"2023-01-19T08:59:05","modified_gmt":"2023-01-19T08:59:05","slug":"run-jenkins-in-docker-container-jenkins-pipeline-1-4","status":"publish","type":"post","link":"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/","title":{"rendered":"Run Jenkins in Docker Container &#8211; Jenkins Pipeline 1\/4"},"content":{"rendered":"\n<p>In this article we&#8217;re gonna run Jenkins from scratch in a docker container. Then we&#8217;re gonna <a href=\"https:\/\/devclouds.io\/blog\/create-multibranch-pipeline-with-git-jenkins-pipeline-2-4\/\">create a multi branch pipeline<\/a> and connected with a git repository.<\/p>\n\n\n\n<p>During this step I will also explain how to create different types of credentials in Jenkins. And finally I will show you the basics of a Jenkins file to configure this multibranch pipeline.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-run-jenkins-in-docker-container\">Run Jenkins in Docker Container<\/h3>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_30-1.jpg\" alt=\"hub.docker.com website\" class=\"wp-image-2869\" width=\"581\" height=\"380\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_30-1.jpg 774w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_30-1-300x197.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_30-1-768x503.jpg 768w\" sizes=\"(max-width: 581px) 100vw, 581px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>So step one is to run Jenkins in a docker container so to use that we need to find an official image for Jenkins. Lets go on <a href=\"https:\/\/hub.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">hub.docker.com<\/a>.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_1-3-1024x350.jpg\" alt=\"Jenkins Image\" class=\"wp-image-2871\" width=\"768\" height=\"263\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_1-3-1024x350.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_1-3-300x102.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_1-3-768x262.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_1-3.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p> Search for &#8220;Jenkins&#8221; as you see here Jenkins results in an official image and some other images. And if you click on that image the official image has been deprecated.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_2-3-1024x575.jpg\" alt=\"jenkins image\" class=\"wp-image-2872\" width=\"768\" height=\"431\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_2-3-1024x575.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_2-3-300x169.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_2-3-768x432.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_2-3.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The last version is 2.60 which is very old Jenkins version.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_3-2-1024x300.jpg\" alt=\"Jenkins lts\" class=\"wp-image-2873\" width=\"768\" height=\"225\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_3-2-1024x300.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_3-2-300x88.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_3-2-768x225.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_3-2.jpg 1350w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Instead of it we&#8217;re gonna use this image here. So on my command line I&#8217;m gonna execute docker run using this image.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Initialize Jenkins and install default plugins<\/h2>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_6-5-1024x442.jpg\" alt=\"Jenkins installation commands and  ports\" class=\"wp-image-2874\" width=\"768\" height=\"332\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_6-5-1024x442.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_6-5-300x129.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_6-5-768x331.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_6-5.jpg 1131w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The first part I&#8217;m gonna expose is port 8080 the Jenkins application inside container will run port 8080 because Jenkins runs on Tomcat. Which by default starts at this port and I&#8217;m gonna bind it to my hosts port 8080.<\/p>\n\n\n\n<p>Another port we can expose is 50,000 which is basically a port where drink is master and slave communicate. So this will enable my Jenkins to find slaves in case I had some so the ports are open.<\/p>\n\n\n\n<p>Now another thing I&#8217;m gonna do is I&#8217;m gonna run it in detach mode &#8220;-d&#8221;. And I&#8217;m also gonna bind volumes to it so to do that I&#8217;m gonna use &#8220;-v&#8221;.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_8-5-1024x515.jpg\" alt=\"jenkins command\" class=\"wp-image-2875\" width=\"768\" height=\"386\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_8-5-1024x515.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_8-5-300x151.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_8-5-768x387.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_8-5.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>And I&#8217;m gonna use a named volume which I&#8217;m gonna call Jenkins home meaning I don&#8217;t have to have this as a folder it&#8217;s gonna be automatically created. I&#8217;m gonna bind it to directory inside Jenkins container.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"jenkins_home:\/var\/jenkins_home\"<\/code><\/pre>\n\n\n\n<p>It&#8217;s inside of docker container and this will create automatically create a volume now. The reason why we need to create a volume for Jenkins is to have data persist for Jenkins. So when we remove the container, restarted and recreated the data will still be there.<\/p>\n\n\n\n<p>And the reason why we need to persist this data is because all the Jenkins builds all the configuration. And all the Jenkins plugins and also Jenkins users will be stored there. So without this data you will basically have to reinitialize the whole Jenkins.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Command for Run Jenkins in Docker Container<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -p 8080:8080 -p 50000:50000 -d -v jenkins_home:\/var\/jenkins_home jenkins\/jenkins:lts<\/code><\/pre>\n\n\n\n<p>I&#8217;m gonna run this command and it&#8217;s pulling the image from the docker hub it&#8217;s gonna start in just couple of seconds.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_7-6-1024x251.jpg\" alt=\"Junkins commands running\" class=\"wp-image-2877\" width=\"768\" height=\"188\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_7-6-1024x251.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_7-6-300x74.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_7-6-768x188.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_7-6.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>So the image has been pulled and the docker container must be running already. If I use this commands:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker PS<\/code><\/pre>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_10-4.jpg\" alt=\"docker ps\" class=\"wp-image-2878\" width=\"740\" height=\"128\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_10-4.jpg 987w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_10-4-300x52.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_10-4-768x132.jpg 768w\" sizes=\"(max-width: 740px) 100vw, 740px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>I can see my Jenkins container running and we actually need its logs so I&#8217;m gonna us this command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker logs 0ef6bb7d38fa<\/code><\/pre>\n\n\n\n<p>with the container ID (your id will be different).<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_9-3-1024x308.jpg\" alt=\"jenkins admin user password\" class=\"wp-image-2879\" width=\"768\" height=\"231\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_9-3-1024x308.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_9-3-300x90.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_9-3-768x231.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_9-3.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>This is the password I&#8217;m gonna need to initialize it. So I&#8217;m gonna copy that and if I go to &#8220;localhost:8080&#8221;.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_11-5-1024x575.jpg\" alt=\"localhost\" class=\"wp-image-2880\" width=\"768\" height=\"431\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_11-5-1024x575.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_11-5-300x169.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_11-5-768x432.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_11-5.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p> I will paste that password and it should start initializing.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_12-4-1024x575.jpg\" alt=\"Install Suggested Plugins\" class=\"wp-image-2881\" width=\"768\" height=\"431\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_12-4-1024x575.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_12-4-300x169.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_12-4-768x432.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_12-4.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>So I&#8217;m going to go with the suggested plugins and this is gonna take some time to install all the plugins.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_13-3-1024x510.jpg\" alt=\"plugins being installed\" class=\"wp-image-2882\" width=\"768\" height=\"383\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_13-3-1024x510.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_13-3-300x150.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_13-3-768x383.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_13-3.jpg 1328w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Depends on what technologies your application uses or what source management tools etc he will need different plugins for Jenkins. And I&#8217;m just gonna go with the community one suggested ones.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Later of course in Jenkins you can manage these plugins. You can delete them you can add new ones etc this is just the base.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Create First Admin User<\/h2>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_14-3-1024x575.jpg\" alt=\"First Admin User\" class=\"wp-image-2883\" width=\"768\" height=\"431\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_14-3-1024x575.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_14-3-300x169.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_14-3-768x432.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_14-3.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>I&#8217;m gonna create the first admin user.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_15-2-1024x605.jpg\" alt=\"Instance Config\" class=\"wp-image-2885\" width=\"768\" height=\"454\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_15-2-1024x605.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_15-2-300x177.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_15-2-768x454.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_15-2.jpg 1113w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>I&#8217;m gonna leave it localhost.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_16-4.jpg\" alt=\"Jenkins Installed Successfully\" class=\"wp-image-2886\" width=\"490\" height=\"214\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_16-4.jpg 653w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_16-4-300x131.jpg 300w\" sizes=\"(max-width: 490px) 100vw, 490px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Jenkins is ready. <\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_17-4.jpg\" alt=\"Welcome Page Jenkins\" class=\"wp-image-2887\" width=\"747\" height=\"460\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_17-4.jpg 996w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_17-4-300x185.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_17-4-768x473.jpg 768w\" sizes=\"(max-width: 747px) 100vw, 747px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>And this is view I get so if I go to new item because I installed all these plugins.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_18-5-1024x575.jpg\" alt=\"Jenkins Plugins\" class=\"wp-image-2888\" width=\"768\" height=\"431\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_18-5-1024x575.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_18-5-300x169.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_18-5-768x432.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_18-5.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Types of Jenkins Projects<\/h2>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_19-5-1024x468.jpg\" alt=\"Types of Jenkins Projects\" class=\"wp-image-2889\" width=\"768\" height=\"351\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_19-5-1024x468.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_19-5-300x137.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_19-5-768x351.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_19-5.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>I see different types of Jenkins projects I can create but default usually have the freestyle project. Freestyle project is used for simple single tasks. Like if you want to just e.g. run tests. Whereas with pipeline you can configure the whole delivery flow like e.g. test | build | package | deploy | your application etc.<\/p>\n\n\n\n<p>Pipeline is a more recent addition so before that they would just chain multiple freestyle projects to get a pipeline like project.<\/p>\n\n\n\n<p>The pipeline project type is just for a single branch but in this articles we&#8217;re going to create a multi branch pipeline. which will apply to multiple branches of the same repository.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_20-4-1024x575.jpg\" alt=\"Manage Jenkins\" class=\"wp-image-2890\" width=\"768\" height=\"431\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_20-4-1024x575.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_20-4-300x169.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_20-4-768x432.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_20-4.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>If I go to manage Jenkins that&#8217;s where you as an admin user have all the tools to configure Jenkins.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_21-4-1024x569.jpg\" alt=\"manage plugins\" class=\"wp-image-2891\" width=\"768\" height=\"427\" srcset=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_21-4-1024x569.jpg 1024w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_21-4-300x167.jpg 300w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_21-4-768x427.jpg 768w, https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/Screenshot_21-4.jpg 1365w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Under manage plugins you can actually add or delete or manage or update the plugins. That you have in available. I have all the plugins that I could install in addition to my Jenkins. And install I have all th ones that I have actually selected at the beginning you can remove them again.<\/p>\n\n\n\n<p>Or you can add new plugins in the <a href=\"https:\/\/devclouds.io\/blog\/create-multibranch-pipeline-with-git-jenkins-pipeline-2-4\/\">next article<\/a> I&#8217;m gonna show you <a href=\"https:\/\/devclouds.io\/blog\/create-multibranch-pipeline-with-git-jenkins-pipeline-2-4\/\">how to create a multi branch pipeline<\/a> and how to connect it to your git repository and how to build your project using that pipeline.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jenkins from scratch in a docker container and create a multi branch pipeline and connected with a git repository.<\/p>\n","protected":false},"author":5,"featured_media":3188,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-2824","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v19.6 (Yoast SEO v19.14) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Run Jenkins in Docker Container - Jenkins Pipeline 1\/4<\/title>\n<meta name=\"description\" content=\"Run Jenkins in Docker Container | Initialize Jenkins and install default plugins | Create First Admin User | Types of Jenkins Projects\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Run Jenkins in Docker Container - Jenkins Pipeline 1\/4\" \/>\n<meta property=\"og:description\" content=\"Run Jenkins in Docker Container | Initialize Jenkins and install default plugins | Create First Admin User | Types of Jenkins Projects\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/\" \/>\n<meta property=\"og:site_name\" content=\"The Official DevClouds Blogs\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-13T22:37:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-19T08:59:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/demo-y-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"hammad\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hammad\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/\",\"url\":\"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/\",\"name\":\"Run Jenkins in Docker Container - Jenkins Pipeline 1\/4\",\"isPartOf\":{\"@id\":\"https:\/\/devclouds.io\/blog\/#website\"},\"datePublished\":\"2023-01-13T22:37:46+00:00\",\"dateModified\":\"2023-01-19T08:59:05+00:00\",\"author\":{\"@id\":\"https:\/\/devclouds.io\/blog\/#\/schema\/person\/29fe135874604a656a492f57fb43211d\"},\"description\":\"Run Jenkins in Docker Container | Initialize Jenkins and install default plugins | Create First Admin User | Types of Jenkins Projects\",\"breadcrumb\":{\"@id\":\"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devclouds.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Run Jenkins in Docker Container &#8211; Jenkins Pipeline 1\/4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devclouds.io\/blog\/#website\",\"url\":\"https:\/\/devclouds.io\/blog\/\",\"name\":\"The Official DevClouds Blogs\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devclouds.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devclouds.io\/blog\/#\/schema\/person\/29fe135874604a656a492f57fb43211d\",\"name\":\"hammad\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/devclouds.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/19d1520a5ed46e5c53b8333bc3a9bddb9f28e057d9722fbb8e979edd11e22faf?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/19d1520a5ed46e5c53b8333bc3a9bddb9f28e057d9722fbb8e979edd11e22faf?s=96&d=mm&r=g\",\"caption\":\"hammad\"},\"url\":\"https:\/\/devclouds.io\/blog\/author\/hammad\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Run Jenkins in Docker Container - Jenkins Pipeline 1\/4","description":"Run Jenkins in Docker Container | Initialize Jenkins and install default plugins | Create First Admin User | Types of Jenkins Projects","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/","og_locale":"en_US","og_type":"article","og_title":"Run Jenkins in Docker Container - Jenkins Pipeline 1\/4","og_description":"Run Jenkins in Docker Container | Initialize Jenkins and install default plugins | Create First Admin User | Types of Jenkins Projects","og_url":"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/","og_site_name":"The Official DevClouds Blogs","article_published_time":"2023-01-13T22:37:46+00:00","article_modified_time":"2023-01-19T08:59:05+00:00","og_image":[{"width":750,"height":400,"url":"https:\/\/devclouds.io\/blog\/wp-content\/uploads\/2023\/01\/demo-y-1.png","type":"image\/png"}],"author":"hammad","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hammad","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/","url":"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/","name":"Run Jenkins in Docker Container - Jenkins Pipeline 1\/4","isPartOf":{"@id":"https:\/\/devclouds.io\/blog\/#website"},"datePublished":"2023-01-13T22:37:46+00:00","dateModified":"2023-01-19T08:59:05+00:00","author":{"@id":"https:\/\/devclouds.io\/blog\/#\/schema\/person\/29fe135874604a656a492f57fb43211d"},"description":"Run Jenkins in Docker Container | Initialize Jenkins and install default plugins | Create First Admin User | Types of Jenkins Projects","breadcrumb":{"@id":"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/devclouds.io\/blog\/run-jenkins-in-docker-container-jenkins-pipeline-1-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devclouds.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Run Jenkins in Docker Container &#8211; Jenkins Pipeline 1\/4"}]},{"@type":"WebSite","@id":"https:\/\/devclouds.io\/blog\/#website","url":"https:\/\/devclouds.io\/blog\/","name":"The Official DevClouds Blogs","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devclouds.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/devclouds.io\/blog\/#\/schema\/person\/29fe135874604a656a492f57fb43211d","name":"hammad","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/devclouds.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/19d1520a5ed46e5c53b8333bc3a9bddb9f28e057d9722fbb8e979edd11e22faf?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/19d1520a5ed46e5c53b8333bc3a9bddb9f28e057d9722fbb8e979edd11e22faf?s=96&d=mm&r=g","caption":"hammad"},"url":"https:\/\/devclouds.io\/blog\/author\/hammad\/"}]}},"_links":{"self":[{"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/posts\/2824","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/comments?post=2824"}],"version-history":[{"count":11,"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/posts\/2824\/revisions"}],"predecessor-version":[{"id":3216,"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/posts\/2824\/revisions\/3216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/media\/3188"}],"wp:attachment":[{"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/media?parent=2824"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/categories?post=2824"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devclouds.io\/blog\/wp-json\/wp\/v2\/tags?post=2824"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}