What is Jenkins and How is it used?
By: Kerem Metin
Tags: Test Automation, Software Engineering, Software Development, Software Testing, Software

Before explaining Jenkins installations and usage, let’s talk a little bit about jenkins :)

Jenkins is an automation server written in java used for the Continuous Integration (CI: Continuous Integration) method. It allows to automate software development processes. Jenkins runs on a specific server and port, reaches the project from the specified source and performs the requested operations on a regular basis. It forwards the results to the designated people. In this way, since the project is constantly tested, errors are detected and kept in a working condition. Jenkins implements manual processes such as build, test and deploy, and minimizes all disruptions and lack of communication that may occur in this process.

Jenkins reaches the project from the specified source(Github) during the software development process and works under the specified conditions and compiles the project. If compilation is successful, it runs the tests. If it does not encounter any problems in these two stages, it performs the 3rd stage, deploy. This situation can be characterized as a Continuous Delivery (CD: Continious Delivery) process. In continuous delivery, the aim is to keep the project up-to-date and in working condition and to transfer it to a live environment. If Jenkins encounters any error during the build or testing phase, it does not deploy and informs the developer about the error. This process repeats continuously or at times specified by the user. In addition to these, Jenkins integrates many development processes such as static analysis, version control system, distribution.

To mention about CI/CD; It is the process where the developments go through a number of checks in line with the conditions we have determined and whether the package is compiled properly or not. This process is called continuous integration.

To briefly explain the difference in the Delivery and Deployment processes, which are concepts that are defined within the CD process and are close to each other; Continuous Delivey is the stage that ensures that the development is taken into the build process after going through the CI process and is ready for the deployment process. If continuous delivery is implemented correctly, developers will always have a distribution-ready build package that has passed a standardized testing process.

It ensures that the development, which is ready for continuous deployment, is installed on the servers.

Jenkins Installation

First, go to the site called https://www.jenkins.io/download/ and download the appropriate one for the system. The downloaded program is run and installed on the system.

After the installation process is completed, it will connect to the jenkins control panel by typing http://localhost:8080/.

After this part, I will show the installation steps in pictures.

This will be the first page that appears after connecting to localhost 8080. We need to go to the address written in red. This address is on our computer. Jenkins gives us a password while downloading, we can run jenkins using this password.

We set the username and password.

A new project is created by pressing the new item key. Then we take the github link of our code and link it to the project here.

Now we will link a project found on github here, we open a new dashboard by clicking the new item button, determine the name of the project, select the pipeline and continue.

After this process, it’s time to connect our github repository,After editing the configuration, we select the pipeline, add the github link here and press the save button.

Now we will do a few more operations, it will send us an e-mail when our tests are finished in our project. So we’ll know when the tests are done. Since the mail configuration is a bit complicated and long, I made it with a video I found on youtube, and I am writing the link here, if you reach me where you are stuck, I will be happy to help. https://www.youtube.com/watch?v=MFgbp00hbVI

Now let’s run our project and see what happens.

The project is run by clicking the Configure now button.

the project is finished running, now let’s check the mailbox :)

It has the authority to change the title and content of the incoming mail, and users have the authority to make changes on them if they wish.Our jenkins article ends here, we have made a small but end-to-end jenkins project, you can contact us at the point where you get an error. Take care of yourself…. :)