What is Jenkins? Jenkins is a very famous open source tool that performs continuous integration and delivery of projects. Nowadays most of the softwa...Read More
Jenkins is an open source tool which is simple, extensible, and user friendly. It performs continuous integration and provides CI services for application development. Its basic functionality is to execute a list of predefined steps. It continuously builds and tests the software keeping the track of execution and status of jobs, so the users and team members can regularly obtain the most latest stable code. It supports SCM tools such as CVS, Git, AccuRev and so on and can build Freestyle, Apache Ant, and Apache Maven-based projects. Plugins’ concept makes Jenkins more attractive and easy to use. Various categories of plugins are available such as Source code management, Build triggers, Build tools, Build reports, other post-build actions, UI and library plugins, Android and iOS development, .NET and Ruby development, and so on.
Jenkins is used to configure the jobs for several projects, so that these projects can be built on various triggers by Jenkins. To create/configure a job, the description is given below:
1. Using the Jenkins URL on your system, go to Jenkins home page.
2. Use the Jenkins menu and select the ‘new job’ option.
3. Define the Job name here.
4. Pick the Job type from the available options as per your project requirement.
5. A new job can also be created by copying any existing job. For this, ‘Copy existing job’ option is selected and the existing job’s name is defined.
6. After submitting the request, a page to configure the new job will be presented to you.
7. If new job is created by copying any existing job, then various fields will be already filled.
8. If the job is created for the first time, the configuration page will have all blank fields.
9. Various fields and options are:
a) Description – the description of current job is filled in here.
b) Some other configuration options like whether the build needs parameters or not. If yes, UI will provide you the option to define the build parameters.
c) Then you can define the settings for Source Control / Versioning system:
i. Choose the type of tool you are using like CVS, or SVN.
ii. Define the Repository URL for the present job.
iii. Specify the local system directory, if you want else it will be directed to the default directory set up by Jenkins.
iv. Specify checkout strategy. This can be like, update the source code, or check out the fresh copy etc.
v. You can define the repository browser if required.
d) Then you can set up the build triggers. Build Triggers are the events that define when the job should be triggered. You can configure to build this project periodically based on any given schedule after any other project is built.
e) After that, it is configured that how the build system should be called on based upon the build system used in project .You can choose from the given options like ‘Execute Window Batch Command’, ‘Invoke Ant’ etc.
f) Next step is to set up Post Build Actions. There are several options available for the same. Two good options are to send the email along with the results to given email ids, and to activate any other configured job.
10. After saving the configuration, you are done.
11. Jenkins will activate the job at given schedule and will email you the results if you have configured it.
1. Installation on different operating systems is easier.
2. Easy to upgrade—Jenkins has speedy release cycles.
3. It has simple and easy-to-use user interface.
4. The use of third-party plugins makes it extensible.
5. It is easy to configure the setup environment in the user interface and also possible to customize the user interface based on likings.
6. Distributed builds are supported by the master slave architecture to reduce loads on the CI server.
7. It is available with test harness built around JUnit and the test results are available in graphical and tabular forms.
8. It incorporates Build scheduling.
9. It provides notification support related to status of the build.