1. What is Jenkins?
Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.
Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed.
This is a useful article that permit you install jenkins in ubuntu OS
This article is prepared for anyone (software tester or devops) who want to understand how to build and test their projects on a continuous basis to help developers quickly integrate changes to the project and get new versions.
To understand Jenkins and its functionality you need to get an idea of Software Development Life Cycl, you must also understand the basic notions on system and configuration management.
4. Install Jenkins
there are many methods that allow you to install jenkins in your OS,
the post in the link below can be useful for show you how to install Jenkins on an Ubuntu 18.04 machine using the Jenkins Debian package repository
if you have other operating system installed in your server than ubuntu you can use this link which show you other OS
You can also setting up jenkins using and deploying a war file directly (this link to dowload)
Open the command prompt. browse to the directory where the jenkins.war file is present and Run the following command
java –jar Jenkins.war
5. Advantages of Jenkins include:
Advantages of Jenkins include:
- It is an open source tool with great community support.
- It is easy to install and use.
- there are 1000+ plugins to ease your work.
- ability to code plugins if needed and share with the jenkins community.
- It is free of cost.
- It is built with Java and hence, it is portable to all the major platforms (windows,linux,Mac).
6. Jenkin History
The Jenkins project was started in 2004 (originally called Hudson) by Kohsuke Kawaguchi, CTO at CloudBees and a Java developer, working at SUN Microsystems, was tired of building the code and fixing errors every time so his object it was automating build and test task.
In 2011, Oracle who owned Sun Microsystems improve Hudson project, after the forked Hudson and renamed it as Jenkins.
In the beginning both Hudson and Jenkins continued to operate independently. But in short span of time, Jenkins acquired a lot of projects and contributors while Hudson remained with only little of projects.
With time, Jenkins became more popular, and Hudson is not maintained anymore.
7. What is Continuous Integration?
Continuous Integration is a development practice in which the developers are required to commit changes to the source code in a shared repository several times a day or more frequently.
Every commit made in the repository is then built. This allows the teams to detect the problems early.
8. Why use continuous integration with Jenkins?
there are people who think that the method of developing java such project is the best way to understand it become mandatory to use it with jenkins with the example below
Imagine, there are about 10 developers working on a shared repository. Some developer completes the task in 10 days, while others take 20 days to complete, in this case before jenkins must all developers commit their code at the same time while after the arrival of jenkins the build and test project is made when a commit
9. Open Source Jenkins Alternatives
Here, is a list of top tools which can replace Jenkins. This list compromises of commercial as well as open-source continuous integration tool.
GoCD is an Open source Continuous Integration server. It is used to model and visualize complex workflows with ease. This CI tool allows continuous delivery and provides an intuitive interface for building CD pipelines.
b. Travis CI
Travis CI is probably one of the easiest CI servers to get started with. Travis CI is open source and obviously free to host on your own server, but it also offers a SaaS version that allows free testing for open source projects.
c. Atlassian Bamboo
Bamboo is a continuous integration and continuous deployment server developed by Atlassian. Although initially available both as an on-premises and cloud computing service, in May 2016 it was announced that the cloud version would be discontinued by end of January 2017. wikipidia
CirclecI is a flexible tool which runs on almost every environment. CircleCI automatically runs your build in a clean container or virtual machine, allowing you to test every commit. It integrates with GitHub, GitHub Enterprise, and Bitbucket. Every time you commit code, CircleCI creates a build.
e. GitLab CI/CD
GitLab CI/CD is a tool built into GitLab for software development through the continuous methodologies:
– Continuous Integration (CI)
– Continuous Delivery (CD)
– Continuous Deployment (CD)
Rundeck Community is open source Runbook Automation software. View helpful documentation, support forums, IRC, and Rundeck on Github.
TeamCity is a build management and continuous integration server from JetBrains. It was first released on October 2, 2006, and is commercial software and licensed under a proprietary license: a freemium license for up to 100 build configurations and three free Build Agent licenses are available. Open Source projects may request a free license. wikipidia