{"id":48100,"date":"2018-01-29T05:31:51","date_gmt":"2018-01-29T00:01:51","guid":{"rendered":"http:\/\/blog.odango.com\/?p=48100"},"modified":"2023-02-03T17:55:58","modified_gmt":"2023-02-03T12:25:58","slug":"devops-jenkins-setup","status":"publish","type":"post","link":"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/","title":{"rendered":"DevOps Jenkins Setup"},"content":{"rendered":"\n[et_pb_section bb_built=&#8221;1&#8243; next_background_color=&#8221;#000000&#8243;][et_pb_row][et_pb_column type=&#8221;4_4&#8243;][et_pb_post_title _builder_version=&#8221;3.0.106&#8243; title=&#8221;on&#8221; meta=&#8221;off&#8221; author=&#8221;on&#8221; date=&#8221;on&#8221; categories=&#8221;on&#8221; comments=&#8221;on&#8221; featured_image=&#8221;off&#8221; featured_placement=&#8221;below&#8221; text_color=&#8221;dark&#8221; text_background=&#8221;off&#8221; title_font=&#8221;Titillium Web||||||||&#8221; title_font_size=&#8221;47&#8243; title_font_size_tablet=&#8221;40&#8243; title_font_size_phone=&#8221;35&#8243; title_font_size_last_edited=&#8221;on|desktop&#8221; title_text_color=&#8221;rgba(0,0,0,0.8)&#8221; title_text_align=&#8221;left&#8221; text_shadow_horizontal_length=&#8221;0.08em&#8221; text_shadow_vertical_length=&#8221;0.08em&#8221; text_shadow_blur_strength=&#8221;0.08em&#8221; title_text_shadow_horizontal_length=&#8221;0.08em&#8221; title_text_shadow_vertical_length=&#8221;0.08em&#8221; custom_margin=&#8221;|||10%&#8221; \/][\/et_pb_column][\/et_pb_row][et_pb_row][et_pb_column type=&#8221;4_4&#8243;][et_pb_text _builder_version=&#8221;3.12.2&#8243; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|tablet&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\n<strong>DevOps Jenkins Setup:<\/strong>\r\n\r\n<a href=\"https:\/\/asha24.net\/blog\/devops-tutorial-why-and-how\/\">DevOps<\/a> Jenkins is a tool which is used to integrate and deploy the code between multiple applications.\r\n\r\nIt integrates the code from Git repository and deploys through cloud services into another application.\r\n\r\nFirst, you have to download and install\u00a0<a href=\"https:\/\/jenkins.io\/download\/\">Jenkins<\/a><strong>.<\/strong>\r\n\r\nFollow the installation process as shown below.\r\n\r\n<strong>1)<\/strong>Give the \u201c<strong>initial admin password<\/strong>\u201d.\r\n\r\n[\/et_pb_text][et_pb_image _builder_version=&#8221;3.0.106&#8243; show_in_lightbox=&#8221;off&#8221; url_new_window=&#8221;off&#8221; use_overlay=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; force_fullwidth=&#8221;off&#8221; show_bottom_space=&#8221;on&#8221; src=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/download-123.png&#8221; align=&#8221;center&#8221; \/][et_pb_text _builder_version=&#8221;3.12.2&#8243; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|desktop&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\nWhile installing your Jenkins you will see a window as shown below\r\n\r\n[\/et_pb_text][et_pb_image _builder_version=&#8221;3.0.106&#8243; show_in_lightbox=&#8221;off&#8221; url_new_window=&#8221;off&#8221; use_overlay=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; force_fullwidth=&#8221;off&#8221; show_bottom_space=&#8221;on&#8221; src=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/download-1-24.png&#8221; align=&#8221;center&#8221; \/][et_pb_text _builder_version=&#8221;3.12.2&#8243; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|tablet&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\n<strong>2)<\/strong>\u00a0After installation configure your username and password.\r\n\r\n<strong>Set up a build pipeline with Jenkins and Amazon ECS:<\/strong>\r\n\r\nConfiguring the Jenkins with AWS is a major step in CI\/CD. Let\u2019s see how to configure the built pipeline with using Jenkins and Amazon EC2.\r\n\r\nWe will be using a sample Python application, available on GitHub.\r\n\r\nThe repository contains a simple Dockerfile that uses a python base image and runs our application.\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td>FROM python:2-onbuild\r\n\r\nCMD [ &#8220;python&#8221;, &#8220;.\/application.py&#8221; ]<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nIn order to push the code into repository, the build pipelines create a Docker image using of Dockerfile.\r\n\r\n<strong>Set up the build environment:<\/strong>\r\n\r\nIn the next process using of Amazon Linux AMI launch the Amazon EC2 instance and install and configure the required packages.\r\n\r\n<strong>Install and configure Jenkins, Docker and Nginx:<\/strong>\r\n\r\nFirst, you just update your repositories and install Docker, Nginx, and Git.\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td># yum update \u2013y\r\n\r\n# yum install -y docker nginx git<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nIn order to install Jenkins on Amazon Linux, we have to add the Jenkins repository and install Jenkins from there.\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td># wget -O \/etc\/yum.repos.d\/jenkins.repo:\u00a0 http:\/\/pkg.jenkins-ci.org\/redhat\/jenkins.repo\r\n\r\n# rpm &#8211;import: http:\/\/pkg.jenkins-ci.org\/redhat\/jenkins-ci.org.key\r\n\r\n# yum install Jenkins<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nJenkins typically uses port TCP\/8080, we will configure Nginx as a proxy.\r\n\r\nEdit the Nginx config file (\/etc\/nginx\/nginx.conf) and change the server configuration as shown below:\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td>server {\r\n\r\nlisten\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 80;\r\n\r\nserver_name\u00a0 _;\r\n\r\nlocation \/ {\r\n\r\nproxy_pass\u00a0http:\/\/127.0.0.1:8080;\r\n\r\n}\r\n\r\n}<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nWe will be using Jenkins to build our Docker images, so we have to add the jenkins user to the docker group.\r\n\r\nA reboot is required for these changes to take effect.\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td># usermod -a -G docker Jenkins<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nStart the Docker, Jenkins and Nginx services and make sure those are running after a reboot:\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td># service docker start\r\n\r\n# service jenkins start\r\n\r\n# service nginx start\r\n\r\n# chkconfig docker on\r\n\r\n# chkconfig jenkins on\r\n\r\n# chkconfig nginx on<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nWe can launch the Jenkins instance complete with all the required plugins with this CloudFormation template.\r\n\r\nPoint your browser to the public DNS name of your EC2 instance and you should be able to see the Jenkins home page:\r\n\r\n[\/et_pb_text][et_pb_image _builder_version=&#8221;3.0.106&#8243; show_in_lightbox=&#8221;off&#8221; url_new_window=&#8221;off&#8221; use_overlay=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; force_fullwidth=&#8221;off&#8221; show_bottom_space=&#8221;on&#8221; src=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/download-2-17.png&#8221; align=&#8221;center&#8221; \/][et_pb_text _builder_version=&#8221;3.12.2&#8243; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|tablet&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\nThe Jenkins installation is currently accessible through the Internet without any authentication.\r\n\r\nBefore going to the next level<a href=\"http:\/\/www.jenkins.com\/\"> Jenkins<\/a> must be secured.\r\n\r\nSelect Manage Jenkins on the Jenkins home page, click Configure Global Security and then enable Jenkins security by selecting the Enable Security checkbox.\r\n\r\n[\/et_pb_text][et_pb_image _builder_version=&#8221;3.0.106&#8243; show_in_lightbox=&#8221;off&#8221; url_new_window=&#8221;off&#8221; use_overlay=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; force_fullwidth=&#8221;off&#8221; show_bottom_space=&#8221;on&#8221; src=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/download-3-15.png&#8221; align=&#8221;center&#8221; \/][et_pb_text _builder_version=&#8221;3.12.2&#8243; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|desktop&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\nOnce this is complete, save your changes. Now you will be asked to provide a username and password for the user to log in.\r\n\r\nClick on Create an account, provide your username \u2013 i.e. admin \u2013 and fill in the user details. Now you will be able to log in securely to Jenkins.\r\n\r\n<strong>Install and configure Jenkins plugins:<\/strong>\r\n\r\nThe final step in setting up our build environment is to install and configure the Jenkins plugins required to build a Docker image and publish it to a Docker registry.\r\n\r\nWe need a plugin to interact with the code repository of our choice, GitHub in our case.\r\n\r\nOn <a href=\"https:\/\/en.wikipedia.org\/wiki\/Jenkins_(software)\">Jenkins<\/a> dashboard select Manage Jenkins and click Manage Plugins. go to tab, search for and select the following plugins:\r\n\r\nDocker Build and Publish plugin\r\n\r\ndockerhub plugin\r\n\r\nGithub plugin\r\n\r\nThen click the Install button. After the plugin installation is completed, select Manage Jenkins from the Jenkins dashboard and click Configure System.\r\n\r\nLook for the Docker Image Builder section and fill in your Docker registry (DockerHub) credentials:\r\n\r\n[\/et_pb_text][et_pb_image _builder_version=&#8221;3.0.106&#8243; show_in_lightbox=&#8221;off&#8221; url_new_window=&#8221;off&#8221; use_overlay=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; force_fullwidth=&#8221;off&#8221; show_bottom_space=&#8221;on&#8221; src=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/download-4-19.png&#8221; align=&#8221;center&#8221; \/][et_pb_text _builder_version=&#8221;3.12.2&#8243; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|phone&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\nConfigure the Jenkins build\r\n\r\nGo to Jenkins dashboard, click on New Item, select the Freestyle project job, add a name for the job, and click OK. Configure the Jenkins job:\r\n\r\nUnder GitHub Project, add the path of your GitHub repository \u2013 e.g.\u00a0https:\/\/github.com\/awslabs\/py-flask-signup-docker.\r\n\r\nIn addition to the application source code, the repository contains the Dockerfile used to build the image, as explained at the beginning of this walkthrough.\r\n\r\nUnder Source Code Management provide the Repository URL for Git, e.g.\u00a0https:\/\/github.com\/awslabs\/py-flask-signup-docker.\r\n\r\nIn the Build Triggers section, select Build when a change is pushed to GitHub.\r\n\r\nIn the Build section, add a Docker build and publish steps to the job and configure it to publish to your Docker registry repository (e.g. DockerHub) and add a tag to identify the image (e.g. v_$BUILD_NUMBER).\r\n\r\n[\/et_pb_text][et_pb_image _builder_version=&#8221;3.0.106&#8243; show_in_lightbox=&#8221;off&#8221; url_new_window=&#8221;off&#8221; use_overlay=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; force_fullwidth=&#8221;off&#8221; show_bottom_space=&#8221;on&#8221; src=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/download-4-19.png&#8221; align=&#8221;center&#8221; \/][et_pb_text _builder_version=&#8221;3.12.2&#8243; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|phone&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\nThe Repository Name specifies the name of the Docker repository where the image will be published;\r\n\r\nThis is composed(if not a technical term then replace with \u201cconsist\u201d) of a username (dstroppa) and an image name (flask-signup).\r\n\r\nIn our case, the Dockerfile sits in the root path of our repository, so we won\u2019t specify any path in the Directory Dockerfile is in the field.\r\n\r\nNote, the repository name needs to be the same as what is used in the task definition template in flask-signup.json.\r\n\r\nAdd an Execute Shell step and add the ECS CLI commands to start a new task on your ECS cluster.\r\n\r\n[\/et_pb_text][et_pb_image _builder_version=&#8221;3.0.106&#8243; show_in_lightbox=&#8221;off&#8221; url_new_window=&#8221;off&#8221; use_overlay=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; force_fullwidth=&#8221;off&#8221; show_bottom_space=&#8221;on&#8221; src=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/download-6-12.png&#8221; align=&#8221;center&#8221; \/][et_pb_text _builder_version=&#8221;3.12.2&#8243; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|phone&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\nThe below script is Execute shell step.\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td>#!\/bin\/bash\r\n\r\nSERVICE_NAME=&#8221;flask-signup-service&#8221;\r\n\r\nIMAGE_VERSION=&#8221;v_&#8221;${BUILD_NUMBER}\r\n\r\nTASK_FAMILY=&#8221;flask-signup&#8221;\r\n\r\n# Create a new task definition for this build\r\n\r\nsed -e &#8220;s;%BUILD_NUMBER%;${BUILD_NUMBER};g&#8221; flask-signup.json &gt; flask-signup-v_${BUILD_NUMBER}.json\r\n\r\naws ecs register-task-definition &#8211;family flask-signup &#8211;cli-input-json file:\/\/flask-signup-v_${BUILD_NUMBER}.json\r\n\r\n# Update the service with the new task definition and desired count\r\n\r\nTASK_REVISION=`aws ecs describe-task-definition &#8211;task-definition flask-signup | egrep &#8220;revision&#8221; | tr &#8220;\/&#8221; &#8221; &#8221; | awk &#8216;{print $2}&#8217; | sed &#8216;s\/&#8221;$\/\/&#8217;`\r\n\r\nDESIRED_COUNT=`aws ecs describe-services &#8211;services ${SERVICE_NAME} | egrep &#8220;desiredCount&#8221; | tr &#8220;\/&#8221; &#8221; &#8221; | awk &#8216;{print $2}&#8217; | sed &#8216;s\/,$\/\/&#8217;`\r\n\r\nif [ ${DESIRED_COUNT} = &#8220;0&#8221; ]; then\r\n\r\nDESIRED_COUNT=&#8221;1&#8243;\r\n\r\nfi\r\n\r\naws ecs update-service &#8211;cluster default &#8211;service ${SERVICE_NAME} &#8211;task-definition ${TASK_FAMILY}:${TASK_REVISION} &#8211;desired-count ${DESIRED_COUNT}<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nTo trigger the build process on Jenkins upon pushing to the GitHub repository we have to configure a service hook on GitHub.\r\n\r\nGo to the GitHub repository settings page, select Webhooks and Services and add a service hook for Jenkins (GitHub plugin).\r\n\r\nAdd the Jenkins hook url:\u00a0http:\/\/:@\/github-webhook\/.\r\n\r\n[\/et_pb_text][et_pb_image _builder_version=&#8221;3.0.106&#8243; show_in_lightbox=&#8221;off&#8221; url_new_window=&#8221;off&#8221; use_overlay=&#8221;off&#8221; always_center_on_mobile=&#8221;on&#8221; force_fullwidth=&#8221;off&#8221; show_bottom_space=&#8221;on&#8221; src=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/download-7-9.png&#8221; align=&#8221;center&#8221; \/][et_pb_text _builder_version=&#8221;3.12.2&#8243; text_font=&#8221;Titillium Web|300|||||||&#8221; text_font_size=&#8221;20&#8243; text_font_size_last_edited=&#8221;on|phone&#8221; text_text_color=&#8221;rgba(0,0,0,0.8)&#8221; text_line_height=&#8221;1.6em&#8221; max_width=&#8221;800px&#8221; custom_margin=&#8221;|||10%&#8221; text_line_height_last_edited=&#8221;off|phone&#8221; max_width_last_edited=&#8221;off|phone&#8221; custom_margin_last_edited=&#8221;off|desktop&#8221;]\r\n\r\nNext, we have to configure a Jenkins job in such a way that whenever a change is committed in GitHub repository it will trigger the build process on Jenkins.\r\n\r\nFrom your local repository, push the application code to GitHub:\r\n<table class=\"Table\" border=\"1\" cellspacing=\"0\">\r\n<tbody>\r\n<tr>\r\n<td># git add *\r\n\r\n# git commit -m &#8220;Kicking off Jenkins build&#8221;\r\n\r\n# git push origin master<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nThis will trigger the Jenkins job. After the job is completed, point your browser to the public DNS name for your EC2 container instance and verify that the application is running correctly.\r\n\r\n<strong>Summary:<\/strong>\r\n\r\nIn this walkthrough, we witness how Jenkins is used to automating the deployment of an ECS service.\r\n\r\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section bb_built=&#8221;1&#8243; prev_background_color=&#8221;#000000&#8243;][et_pb_row][et_pb_column type=&#8221;4_4&#8243;][et_pb_team_member _builder_version=&#8221;3.0.106&#8243; name=&#8221;Nitesh&#8221; position=&#8221;Author&#8221; facebook_url=&#8221;&#8221; twitter_url=&#8221;&#8221; google_url=&#8221;&#8221; linkedin_url=&#8221;&#8221; background_layout=&#8221;light&#8221; body_font=&#8221;Titillium Web||||||||&#8221; body_font_size=&#8221;16&#8243; body_font_size_last_edited=&#8221;on|desktop&#8221; header_font=&#8221;Titillium Web|700|||||||&#8221; image_url=&#8221;https:\/\/asha24.net\/blog\/\/wp-content\/uploads\/2018\/03\/Nitesh.gif&#8221;]\r\n\r\nBonjour. A curious dreamer enchanted by various languages, I write towards making technology seem fun here at Asha24.\r\n\r\n[\/et_pb_team_member][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":48120,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[30],"tags":[],"class_list":["post-48100","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DevOps Jenkins Setup (A step by step Guide)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DevOps Jenkins Setup (A step by step Guide)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/\" \/>\n<meta property=\"og:site_name\" content=\"Asha24 Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-29T00:01:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-03T12:25:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/Setup.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"5472\" \/>\n\t<meta property=\"og:image:height\" content=\"3648\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mahesh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/asha24.net\/blog\/#website\",\"url\":\"https:\/\/asha24.net\/blog\/\",\"name\":\"Asha24 Blog\",\"description\":\"Dedication Towards Learning\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/asha24.net\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/Setup.jpg\",\"contentUrl\":\"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/Setup.jpg\",\"width\":5472,\"height\":3648},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#webpage\",\"url\":\"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/\",\"name\":\"DevOps Jenkins Setup (A step by step Guide)\",\"isPartOf\":{\"@id\":\"https:\/\/asha24.net\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#primaryimage\"},\"datePublished\":\"2018-01-29T00:01:51+00:00\",\"dateModified\":\"2023-02-03T12:25:58+00:00\",\"author\":{\"@id\":\"https:\/\/asha24.net\/blog\/#\/schema\/person\/f6167b78bbaddfc399ae1154cd5b6759\"},\"breadcrumb\":{\"@id\":\"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/asha24.net\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps Jenkins Setup\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/asha24.net\/blog\/#\/schema\/person\/f6167b78bbaddfc399ae1154cd5b6759\",\"name\":\"Mahesh\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/asha24.net\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/085c03e75ffb51af2509c1cfad9c7d78b30236d43a008db2e46f96e2f40c67fc?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/085c03e75ffb51af2509c1cfad9c7d78b30236d43a008db2e46f96e2f40c67fc?s=96&d=wavatar&r=g\",\"caption\":\"Mahesh\"},\"url\":\"https:\/\/asha24.net\/blog\/author\/mahesh\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DevOps Jenkins Setup (A step by step Guide)","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:\/\/asha24.net\/blog\/devops-jenkins-setup\/","og_locale":"en_US","og_type":"article","og_title":"DevOps Jenkins Setup (A step by step Guide)","og_url":"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/","og_site_name":"Asha24 Blog","article_published_time":"2018-01-29T00:01:51+00:00","article_modified_time":"2023-02-03T12:25:58+00:00","og_image":[{"width":5472,"height":3648,"url":"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/Setup.jpg","path":"\/home\/reviews981\/public_html\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/Setup.jpg","size":"full","id":48120,"alt":"","pixels":19961856,"type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"Mahesh","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/asha24.net\/blog\/#website","url":"https:\/\/asha24.net\/blog\/","name":"Asha24 Blog","description":"Dedication Towards Learning","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/asha24.net\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#primaryimage","inLanguage":"en-US","url":"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/Setup.jpg","contentUrl":"https:\/\/asha24.net\/blog\/wp-content\/uploads\/2018\/03\/Setup.jpg","width":5472,"height":3648},{"@type":"WebPage","@id":"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#webpage","url":"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/","name":"DevOps Jenkins Setup (A step by step Guide)","isPartOf":{"@id":"https:\/\/asha24.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#primaryimage"},"datePublished":"2018-01-29T00:01:51+00:00","dateModified":"2023-02-03T12:25:58+00:00","author":{"@id":"https:\/\/asha24.net\/blog\/#\/schema\/person\/f6167b78bbaddfc399ae1154cd5b6759"},"breadcrumb":{"@id":"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/asha24.net\/blog\/devops-jenkins-setup\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/asha24.net\/blog\/devops-jenkins-setup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/asha24.net\/blog\/"},{"@type":"ListItem","position":2,"name":"DevOps Jenkins Setup"}]},{"@type":"Person","@id":"https:\/\/asha24.net\/blog\/#\/schema\/person\/f6167b78bbaddfc399ae1154cd5b6759","name":"Mahesh","image":{"@type":"ImageObject","@id":"https:\/\/asha24.net\/blog\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/085c03e75ffb51af2509c1cfad9c7d78b30236d43a008db2e46f96e2f40c67fc?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/085c03e75ffb51af2509c1cfad9c7d78b30236d43a008db2e46f96e2f40c67fc?s=96&d=wavatar&r=g","caption":"Mahesh"},"url":"https:\/\/asha24.net\/blog\/author\/mahesh\/"}]}},"_links":{"self":[{"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/posts\/48100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/comments?post=48100"}],"version-history":[{"count":8,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/posts\/48100\/revisions"}],"predecessor-version":[{"id":52154,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/posts\/48100\/revisions\/52154"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/media\/48120"}],"wp:attachment":[{"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/media?parent=48100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/categories?post=48100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/asha24.net\/blog\/wp-json\/wp\/v2\/tags?post=48100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}