<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: TheBadCoder</title>
    <description>The latest articles on DEV Community by TheBadCoder (@thebadcoder).</description>
    <link>https://dev.to/thebadcoder</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F314717%2F97048750-f860-4f5d-b796-548c9493de6b.png</url>
      <title>DEV Community: TheBadCoder</title>
      <link>https://dev.to/thebadcoder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thebadcoder"/>
    <language>en</language>
    <item>
      <title>Jenkins: Configure a job with remote git repository</title>
      <dc:creator>TheBadCoder</dc:creator>
      <pubDate>Mon, 06 Jun 2022 07:38:32 +0000</pubDate>
      <link>https://dev.to/thebadcoder/jenkins-configure-a-job-with-remote-git-repository-4k40</link>
      <guid>https://dev.to/thebadcoder/jenkins-configure-a-job-with-remote-git-repository-4k40</guid>
      <description>&lt;p&gt;Pr-requisites: You should have basic Jenkins job creation idea, if you don't, need not to worry a little, I have a boiler plate for you! &lt;a href="https://dev.to/thebadcoder/jenkins-create-a-simple-build-job-38bb"&gt;Jenkins: Create a simple build job&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;So without wasting your precious time I will straight away start with modifying an existing Jenkins job to use git repository instead of local repository to perform a build execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configure GitHub credentials
&lt;/h2&gt;

&lt;p&gt;Pr-requisite- GitHub plugin should be installed, if you have installed the recommended plugins at the time of Jenkins setup, then you already have it. &lt;/p&gt;

&lt;h3&gt;
  
  
  Manage Jenkins
&lt;/h3&gt;

&lt;p&gt;From Jenkins dashboard go to Manage Jenkins&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w5T16v-_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uh2nbky5oysz2f0wcbdb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w5T16v-_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uh2nbky5oysz2f0wcbdb.png" alt="Manage Jenkins" width="804" height="1230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Stores scoped to Jenkins
&lt;/h3&gt;

&lt;p&gt;Select the Jenkins store from the given list of stores, there would be only one generally so it wouldn't be difficult to find it.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m4_yzK_Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o6900giq8q07gqr7vico.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m4_yzK_Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o6900giq8q07gqr7vico.png" alt="Select Jenkins Store" width="880" height="161"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  System credentials
&lt;/h3&gt;

&lt;p&gt;Select Global credentials from the list of system credentials, again there would be only one mostly.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YkugA8Hi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bnp02mkrlcqhmwd66cn2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YkugA8Hi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bnp02mkrlcqhmwd66cn2.png" alt="Global Credentials" width="880" height="261"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Add Credentials
&lt;/h3&gt;

&lt;p&gt;On the left hand side you will have an option/menu to add new credentials, so that's the way for us to actually add our GitHub credentials.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Dyd1p4y---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dln880umpvjfwaky499t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Dyd1p4y---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dln880umpvjfwaky499t.png" alt="Add Credentials Menu" width="880" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Configure User
&lt;/h3&gt;

&lt;p&gt;Here we need to provide few things and again we will go with the basic method here.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kind  =&amp;gt; Username and Password (there are other options too)&lt;/li&gt;
&lt;li&gt;Scope =&amp;gt; Global&lt;/li&gt;
&lt;li&gt;Username =&amp;gt; Actual GitHub Username&lt;/li&gt;
&lt;li&gt;Password =&amp;gt; Actual GitHub Password&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once everything is provided click &lt;strong&gt;ok&lt;/strong&gt; button to complete the process.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JegBfmzd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rj41rq85morqbletxsna.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JegBfmzd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rj41rq85morqbletxsna.png" alt="Configure GitHub User" width="880" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that we are done with the git user configuration, lets go to the actual action by which we can clone the git repository to the build machine and do the further build actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Edit the job
&lt;/h2&gt;

&lt;p&gt;Let's open the existing job that we want to configure to clone the git repository and click on Configure menu/option.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;From General section uncheck use custom workspace configuration(not for new job creation)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Source code management
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Choose Git option, it will uncover hidden configuration properties.&lt;/li&gt;
&lt;li&gt;Repository URL- Get the repository URL from the GitHub which is of type HTTPS(this is the same place where you find the URL to clone the repository)&lt;/li&gt;
&lt;li&gt;Credentials - Here we will be able to select the username and password pair that we configured in earlier steps.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j2BFasEU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2gakhpxhvbjdh09gj58g.png" alt="Git Configurations" width="880" height="546"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Apply and save the changes to the job and we are all set to shoot the next build and see the effect taking place for the source code management section.&lt;br&gt;
Go ahead and build the job again and checkout the console logs if the git repository is actually getting cloned and worked up on.&lt;/p&gt;

&lt;p&gt;Hope this helps, the comments and suggestions are always welcome!&lt;/p&gt;

</description>
      <category>jenkins</category>
      <category>beginners</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to install and use Jenkins on Windows for beginners</title>
      <dc:creator>TheBadCoder</dc:creator>
      <pubDate>Sun, 05 Jun 2022 08:53:12 +0000</pubDate>
      <link>https://dev.to/thebadcoder/how-to-install-and-use-jenkins-on-windows-for-beginners-gec</link>
      <guid>https://dev.to/thebadcoder/how-to-install-and-use-jenkins-on-windows-for-beginners-gec</guid>
      <description>&lt;h2&gt;
  
  
  Pr-requisite: Java
&lt;/h2&gt;

&lt;p&gt;We are not going to cover java installation in this blog however there is nothing to get disappointed, you can find tutorials about java installation all over the internet and I will help you with one that I used.&lt;br&gt;
&lt;strong&gt;[Java download and installation on windows]&lt;/strong&gt;(&lt;a href="https://phoenixnap.com/kb/install-java-windows"&gt;https://phoenixnap.com/kb/install-java-windows&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Jenkins
&lt;/h2&gt;

&lt;p&gt;Hold tight guys we are going to take off from here and I promise at the end of the article &lt;strong&gt;&lt;em&gt;you guys would have Jenkins installed&lt;/em&gt;&lt;/strong&gt; on your windows machine.&lt;br&gt;
So first things first, &lt;strong&gt;download stable version from official website&lt;/strong&gt; &lt;a href="https://www.jenkins.io/download/"&gt;Jenkins Download Page&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Check downloading Jenkins section, there are 2 options

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Download Jenkins 2.xxx.x LTS&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Download Jenkins 2.xxx.x
Here we will be using the one that says LTS(Long time support)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;But as you can see that there are different options for the operating systems for which we can download the LTS version. As we are focusing on windows here let's &lt;strong&gt;click windows to download&lt;/strong&gt; the Jenkins to our local machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Double click on the set up&lt;/strong&gt; that we have downloaded(jenkins.msi). The installation wizard will start and will ask if we want to continue, click &lt;strong&gt;next&lt;/strong&gt;.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M5vfS0Dd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pdyqs4turtc0nor4hmrg.png" alt="Installation- Welcome wizard" width="771" height="600"&gt;
&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;destination directory/folder to install&lt;/strong&gt; the Jenkins on the local machine.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bUniEsUZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/34vvv85rygz194p5wwuw.png" alt="Installation location selection" width="769" height="601"&gt;
&lt;/li&gt;
&lt;li&gt;Now we need to choose log on type. 
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--akiNRm1E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/khz6bafluadhnpq0xy8o.png" alt="Log on type for Jenkins - Not to choose" width="768" height="595"&gt;
Here I we will &lt;strong&gt;choose the not recommended option&lt;/strong&gt; because we want to to get started with Jenkins. The thing here with other option is that you need to have administrator rights to work with default selected option.
So lets select the option &lt;strong&gt;Run service as LocalSystem&lt;/strong&gt; (not recommended)
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yz84YWPo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lrxgsr4a99lr2ot5ajn.png" alt="Log on type for Jenkins - Use this one" width="766" height="598"&gt;
Once you select the option, you see the wizard won't ask you for account and credentials as mandatory part. Click &lt;strong&gt;next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port selection&lt;/strong&gt;
Here you can choose on which port the Jenkins should run so that you can access it as a localhost port. If you don't choose yours by default Jenkins will run on 8080. As for me, I would go ahead with &lt;strong&gt;port number 7777&lt;/strong&gt;.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U7zFh2Jx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qlsvym3pfagfvcuvmgdq.png" alt="Jenkins port selection for installation" width="763" height="598"&gt;
Test the port and if it is available click "next".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Select java directory&lt;/strong&gt;- Here the java installation from our per-requisites plays it's part. Please provide the jdk/jre path here. Click "next".
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--snjH43Dr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4epln5dhc7dcpi0cu8sn.png" alt="Java version to be used by Jenkins" width="768" height="595"&gt;
&lt;/li&gt;
&lt;li&gt;Here on just go on &lt;strong&gt;clicking next and next and finish&lt;/strong&gt; like a straight forward steps in any other setup. Installation task itself will take few minutes to complete so have a cup of coffee by the time the Jenkins is ready for you!&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  SETUP Jenkins
&lt;/h2&gt;

&lt;p&gt;After the installation is done there are few more steps to set up the Jenkins and start using it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the web browser and &lt;strong&gt;launch the url with the port&lt;/strong&gt; that we used in step 6.
ex. &lt;a href="http://127.0.0.1:7777"&gt;http://127.0.0.1:7777&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Unlock Jenkins -&lt;strong&gt;Jenkins will ask for Admin password&lt;/strong&gt;, and the same prompt will show the location (Example location: C:\Users\MyAdmin.jenkins\secrets\initialAdminPassword.)  where the password can be found, copy the password from the file and paste it in the Admin password box and click &lt;strong&gt;continue&lt;/strong&gt; button. &lt;/li&gt;
&lt;li&gt;Customize Jenkins- Its all about different plugins that we may need to use for the supporting tasks to our build job, say git, gradle, ant. Here I would suggest to &lt;strong&gt;install the recommended plugins&lt;/strong&gt;, so go ahead with the option where it says "Install Suggested Plugins".
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r1pCbQGS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wo24stkeeibdvezhqtnt.png" alt="Customize Plugins" width="880" height="577"&gt;
The plugin installation &lt;strong&gt;may take few minutes&lt;/strong&gt;, the progress bar on the screen will keep you informed about what is going on.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create First Admin User- &lt;strong&gt;Set username, password,&lt;/strong&gt; full name, email address for the user that you are going to use to access Jenkins. I would suggest to keep it simple and something that you can remember as it is just a local installation that you will be using for hands-on.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lB15cQfT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2eone252asyytqwrb9ft.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lB15cQfT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2eone252asyytqwrb9ft.png" alt="Create Admin User For Jenkins" width="880" height="557"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Finish set up&lt;/strong&gt;- Jenkins will present us the Jenkins url that we need to use, click on Save and Finish button. Jenkins says its ready now, you just need to launch the localhost with Jenkins port and provide username with valid password and the &lt;strong&gt;Jenkins will be ready to serve you&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hope this helps, edits and suggestions are always welcome! Do share your feedback if you find it useful.&lt;/p&gt;

</description>
      <category>jenkins</category>
      <category>beginners</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Jenkins: Create a simple build job</title>
      <dc:creator>TheBadCoder</dc:creator>
      <pubDate>Sat, 04 Jun 2022 14:23:37 +0000</pubDate>
      <link>https://dev.to/thebadcoder/jenkins-create-a-simple-build-job-38bb</link>
      <guid>https://dev.to/thebadcoder/jenkins-create-a-simple-build-job-38bb</guid>
      <description>&lt;h2&gt;
  
  
  Jenkins job
&lt;/h2&gt;

&lt;p&gt;The jenkins job is an individual task that could be useful for your CI CD pipeline. The job could download a code from git repository for you. It can also run some commands to say build the code that we downloaded, it can send the build report over email to the stake holders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note-&lt;/strong&gt; &lt;em&gt;I will be considering a java project for the the build job that we will be creating in this post.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Create Jenkins Job
&lt;/h2&gt;

&lt;p&gt;Jenkins dashboard has an option to create a new job which is &lt;strong&gt;"New Item"&lt;/strong&gt; and there are few things that we need to provide to the wizard.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Item name that is the &lt;strong&gt;Job name&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Type of the project, we will be selecting &lt;strong&gt;Freestyle project&lt;/strong&gt; one for this one.&lt;/li&gt;
&lt;li&gt;Click on the "OK" button.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XMFmI-MQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/93ntv5bqpgbyws3y5s9f.png" alt="Create a job wizard" width="880" height="455"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  General Job Details
&lt;/h2&gt;

&lt;p&gt;Add some description to the job that could be informative for the people working on the project.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;Advanced&lt;/strong&gt; button&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Za9_D-D0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g248ppujli33je50wf95.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Za9_D-D0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g248ppujli33je50wf95.png" alt="Job Description and Advanced option for custom workspace configuration" width="880" height="521"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose &lt;strong&gt;Use custom workspace option&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For Directory, we will configure the &lt;strong&gt;local repository path&lt;/strong&gt; of the code that we want to build using jenkins. example in my case &lt;strong&gt;C:\Users\myUser\Desktop\gitProjects\javaProjects\MyProject&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Display name, this is self explanatory field I believe. say in my case I am going to use &lt;strong&gt;Project Ignite Local Build&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k90HyrnI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ul6x5ftv20blx2d75fo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k90HyrnI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ul6x5ftv20blx2d75fo.png" alt="Local workspace configuration" width="880" height="540"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Source code management
&lt;/h2&gt;

&lt;p&gt;As we are using local repository from our machine we will keep this option to &lt;strong&gt;auto selected None&lt;/strong&gt;.&lt;br&gt;
&lt;em&gt;Git repository option will be explored in another post on jenkins&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Skip changing any of the things from Build Triggers and Build Environment we will be covering those things in later posts, right now we are focusing on simplest job that we can run&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build
&lt;/h2&gt;

&lt;p&gt;Here also jenkins provide many build options for different needs, what we are interested in is to do a simple build for our java code.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on &lt;strong&gt;"Add build step"&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;"Execute windows batch command"&lt;/strong&gt; option.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enter the command&lt;/strong&gt; that you would run to create a build from your code if you were to do it manually. In my case I will be using &lt;strong&gt;"mvn package"&lt;/strong&gt;.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TM_dSsmT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4cjwkkx9gxlamdf3fmo9.png" alt="Build step configuration" width="880" height="535"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Again skip post build actions section as it is in the future scope of the series on jenkins.&lt;/p&gt;

&lt;p&gt;Click on &lt;strong&gt;"Save" button&lt;/strong&gt; to save the job.&lt;/p&gt;

&lt;p&gt;Now we have our job ready to be executed, from Job Page you can click &lt;strong&gt;"Build now"&lt;/strong&gt; button to run the job !!&lt;/p&gt;

&lt;h2&gt;
  
  
  Build history
&lt;/h2&gt;

&lt;p&gt;We can see the job running with some &lt;strong&gt;#BuildNumber&lt;/strong&gt; and if you wish to see the details of that particular job you can click on it.&lt;br&gt;
You can &lt;strong&gt;see the changes&lt;/strong&gt; in the build, also the &lt;strong&gt;console logs&lt;/strong&gt;.&lt;br&gt;
The &lt;strong&gt;build will be green if it was successful&lt;/strong&gt; and red if it failed, while running stage the build will be shown in blue color.&lt;/p&gt;

&lt;p&gt;The artifacts generated by the build can be found in the local repository where it usually gets generated when you execute the build manually so for my build I will &lt;strong&gt;find the generated jar in target folder&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Hope you like the post, if you feel there are any improvements needed for the post please do share.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>jenkins</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
    <item>
      <title>Why do I see 404 Bio not found on dev profiles?</title>
      <dc:creator>TheBadCoder</dc:creator>
      <pubDate>Fri, 06 Mar 2020 19:44:45 +0000</pubDate>
      <link>https://dev.to/thebadcoder/why-do-i-see-404-bio-not-found-on-dev-profiles-3hj</link>
      <guid>https://dev.to/thebadcoder/why-do-i-see-404-bio-not-found-on-dev-profiles-3hj</guid>
      <description>&lt;p&gt;Lot of developers have this thing on their profile can somebody explain this a bit?&lt;/p&gt;

</description>
      <category>help</category>
    </item>
    <item>
      <title>Robot Framework Quick Start: UI Automation Tutorial</title>
      <dc:creator>TheBadCoder</dc:creator>
      <pubDate>Sun, 01 Mar 2020 18:03:03 +0000</pubDate>
      <link>https://dev.to/thebadcoder/robot-framework-quick-start-ui-automation-4966</link>
      <guid>https://dev.to/thebadcoder/robot-framework-quick-start-ui-automation-4966</guid>
      <description>&lt;p&gt;Robot Framework is an automation testing framework developed in python language. Robot framework supports most types of functional testing say User Interface testing(UI), Backend Testing like REST services testing or even Database testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In this particular article, we are going to learn quickstart steps to use Robot Framework for UI testing(web browser).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Audience:&lt;/strong&gt; Any person who wishes to test web applications with automation can refer to this post. Some knowledge of python will be helpful.&lt;br&gt;
Operating System considered is windows.&lt;/p&gt;
&lt;h1&gt;
  
  
  Folder structure for the project
&lt;/h1&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;robot_framework_automation
|__test-project
     |__ code
     |__ data
     |__ test
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;This folder will have a python file that will have exactly one class with the same name as file name, under which the user can write python functions for some operations which RobotFramework or its libraries do not support.&lt;/p&gt;
&lt;h2&gt;
  
  
  Data
&lt;/h2&gt;

&lt;p&gt;Data folder should contain all the data files such as CSV or JSON files which could hold data that can be used for test cases for the execution or validation of test after execution.&lt;/p&gt;
&lt;h2&gt;
  
  
  Test
&lt;/h2&gt;

&lt;p&gt;This folder should consist of all ROBOT files which are nothing but the test scripts that we have written to automate the application&lt;/p&gt;
&lt;h1&gt;
  
  
  Installation
&lt;/h1&gt;
&lt;h2&gt;
  
  
  Pre-requisites
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1] Python [for this post we will be using python 3.x]&lt;/strong&gt;&lt;br&gt;
Find installer at the official website –&lt;br&gt;
URL – &lt;a href="https://www.python.org/"&gt;https://www.python.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;An important step during python installation&lt;/strong&gt;&lt;br&gt;
Tick the checkbox to add the python 3.x to PATH i.e Environment Variable "path"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2] Virtual Environment&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Note – open cmd and navigate to test_project folder using the cd command.&lt;/em&gt;&lt;br&gt;
Ex. cd /path/to/test_project&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pip install pipenv&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation of the framework using pip package manager
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1] Create virtual environment&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pipenv shell&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;This command isolates the project related python/robot framework installation from the other installations on the system, google virtual environments if anyone wants to know more about it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2] Install robotframework&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pipenv install robotframework&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3] Install UI library&lt;/strong&gt;&lt;br&gt;
SeleniumLibrary [Mandatory for UI testing]&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pip install robotframework-seleniumlibrary&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing 1st robot test case
&lt;/h2&gt;

&lt;p&gt;Documentation for Selenium Library for robot framework - &lt;a href="https://robotframework.org/SeleniumLibrary/"&gt;https://robotframework.org/SeleniumLibrary/&lt;/a&gt; &lt;br&gt;
This will be useful to write the UI test case&lt;/p&gt;

&lt;p&gt;Create a file under the test folder with the name of your choice and with extension .robot and the code in the file should be as below.&lt;br&gt;
Ex. basic_test.robot&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*** Settings ***
Documentation     Simple example using SeleniumLibrary.
Library           SeleniumLibrary

*** Variables ***
${WEBSITE URL}      https://www.amazon.com/
${BROWSER}          Chrome

*** Test Cases ***
Open Test Website And Close Browser
    Open Test Website In Chrome
    [Teardown]    Close Browser

*** Keywords ***
Open Test Website In Chrome
    Open Browser      ${WEBSITE URL}    ${BROWSER}
    Sleep             2
    Title Should Be   Amazon.com. Spend less. Smile more.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Run the test
&lt;/h2&gt;

&lt;p&gt;1]Open the cmd&lt;br&gt;
2]Navigate to test_project folder&lt;br&gt;
3]Execute the command in cmd&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;robot test\basic_test.robot&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Troubleshooting 1:
&lt;/h3&gt;

&lt;p&gt;So here everything is good in test case but still, you will get failure as a result -&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Please read the error message carefully...!!!&lt;br&gt;
So here PATH is nothing but environment variables(system) of windows machine and in that, we have the “path” variable.&lt;br&gt;
In this path variable we need to add a new entry for chromedriver's executable location on our system, but wait do we have it? And why do we need it?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This Chrome driver accepts commands through selenium library which we are using and sends those commands to chrome browser which is being controlled by automation.&lt;br&gt;
In short we can not automate chrome broswer without chrome driver!!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now where we can get it?&lt;br&gt;
1] We need to download official chromedriver from &lt;a href="https://sites.google.com/a/chromium.org/chromedriver/home"&gt;Google: ChromeDriver&lt;/a&gt;&lt;br&gt;
2] Upon download, please extract the zip to some location on your computer.&lt;br&gt;
3] Copy the path to this extracted chrome driver location without the file name.&lt;br&gt;
4] Add this path to the Environment Variable(system) named "path". &lt;br&gt;
&lt;em&gt;[Google environment variables to know more about it and how we can use them]&lt;/em&gt;&lt;br&gt;
5]Re-run the test case again from the project location in cmd-&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;robot test\basic_test.robot&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  NOW WE SHOULD BE ABLE TO SEE THE MAGIC...!!!
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The test case should successfully execute the steps we have written.&lt;/strong&gt;&lt;br&gt;
1] Open chrome browser and launch URL as mentioned&lt;br&gt;
2] TearDown is a standard process we will discuss it sometime later, but the close browser keyword is self-explanatory that the browser should be closed in the end.&lt;br&gt;
3] Robot framework offers some nice HTML reporting we can find the report in the folder from where we executed the test. In our case it should be in test-project folder with name report.html.&lt;/p&gt;
&lt;h2&gt;
  
  
  Explanation of the test code
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Settings section
&lt;/h3&gt;

&lt;p&gt;The settings section is dedicated to writing down the dependencies of libraries and resources we need to import so that we can use them in the code.&lt;br&gt;
Libraries are those packages we have installed via pip installer like-robotframework-seleniumlibrary.&lt;br&gt;
We write it like-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Type of import    Name Of Package
Library           SeleniumLibrary
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Variables Section
&lt;/h3&gt;

&lt;p&gt;This section can be referred to as the global variables section of the particular robot file or the tests in the robot file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Variable Name     Default Value
${WEBSITE URL}    http://www.programmerslab.com
Here the website URL will be considered as String.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Keywords Section
&lt;/h3&gt;

&lt;p&gt;Keywords can be considered as functions in any programming language.&lt;br&gt;
The purpose of keywords is the same as the functions which can be reused anywhere in the same test file.&lt;br&gt;
Keywords can be used outside of the test file they are written in but the condition is to import it in the settings section as a resource, just like in any other programming language.&lt;/p&gt;

&lt;h4&gt;
  
  
  Open Browser
&lt;/h4&gt;

&lt;p&gt;This keyword is a standard keyword from Selenium Library which we have imported and it accepts 2 parameters 1st the website URL which we want to launch and 2nd is browser name on which we want to run the test.&lt;/p&gt;

&lt;h4&gt;
  
  
  Title Should Be
&lt;/h4&gt;

&lt;p&gt;This is again a standard keyword from Selenium Library. It is used to validate the title of the webpage opened in the browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note - Now as you can see we have used standard keywords to form a custom keyword for our use, we can even use these keywords directly into test cases.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Test Cases section
&lt;/h3&gt;

&lt;p&gt;1] First-line in this section is the test case name.&lt;br&gt;
&lt;em&gt;Ex. Open Test Website And Close Browser&lt;/em&gt;&lt;br&gt;
2] Every indented line after the test case name constitutes the test code.&lt;br&gt;
Users can declare local variables in this section which can be used for local scope i.e for the test case only.&lt;br&gt;
3] We can use a series of keywords in order to execute the test case.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This concludes the quick start tutorial for the robot framework for UI testing, please comment if you feel there is some gap. We will be happy to help!!&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  We are going to learn more about UI automation in later posts this was just to get it started.
&lt;/h1&gt;

&lt;p&gt;References:&lt;br&gt;
1] Selenium Library standard keywords documentation &lt;a href="https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html"&gt;https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html&lt;/a&gt;&lt;br&gt;
2] Robot framework standard keywords&lt;br&gt;
&lt;a href="https://robotframework.org/robotframework/latest/libraries/BuiltIn.html"&gt;https://robotframework.org/robotframework/latest/libraries/BuiltIn.html&lt;/a&gt; &lt;/p&gt;

</description>
      <category>robotframework</category>
      <category>automationtesting</category>
      <category>seleniumtesting</category>
    </item>
  </channel>
</rss>
