Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle.
Jenkins provides continuous integration services for software development. It is a server-based system running in a servlet container such as Apache Tomcat. It supports SCM tools including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase and RTC, and can execute Apache Ant and Apache Maven based projects as well as arbitrary shell scripts and Windows batch commands.
Builds can be started by various means, including being triggered by commit in a version control system, scheduling via acron-like mechanism, building when other builds have completed, and by requesting a specific build URL.
Plugins have been released for Jenkins that extend its use to projects written in languages other than Java.Pluginsare available for integrating Jenkins with most version control systems and big databases. Many build tools are supported via their respective plugins. Plugins can also change the way Jenkins looks or add new functionality.
Builds can generate test reports in various formats supported by plugins (JUnit support is currently bundled) and Jenkins can display the reports and generate trends and render them in the GUI.
Based on the original Jenkins for Java, there are now similar tools for other programming frameworks such as:
Buildbot— a Python system to automate the compile/test cycle to validate code changes.Tox— an automation tool providing packaging, testing and deployment of Python software. Travis-CI — a distributed CIserver whichbuilds testsfor open source projects for free.Django-Jenkins — Django (Python) Web Framework integration with Jenkins.
Jenkins on CentOS
In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides 1009 plugins to support building and testing virtually any project.
First weneed to set up the repository as follows: $ sudo wget -O /etc/yum.repos.d/jenkins.repo\
$ sudorpm–import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key Next we need to check javais installed or not.
Next, we can install the package as shown here:
$ sudo yum installjenkins
This will install the latest version of Jenkinsintothe /usr/lib/jenkinsdirectory. The default Jenkins
home directorywill be in /var/lib/jenkins.
Now we can start Jenkins using the service command:
$ sudo service jenkins start
Bydeafultjenkinslisten 8080port. But here we want to change to some other port. Initially thejenkins will not start, when Installing Jenkins on CentOS:
[root@fenige_www_dev ~]# service jenkinsstatus jenkinsdead butpidfile exists
JENKINS_PORT from JENKINS_PORT=”8080′′ to JENKINS_PORT=”8070′′
Change it from JENKINS_AJP_PORT=”8009′′ OR whatever value to JENKINS_AJP_PORT=”-1′′ It will work for sure.
Standard Security Setup:
The most common set up — let Jenkins maintain its own user database Initial steps
1. Go to the Configure Global Security screen and choose “enable security”. 2. Select “Jenkins’s own user database” as the security realm.
3. Place a check mark next to “Allow users to sign up”
4. Select “Matrix-based security” as the authorization
5. Give anonymous user the read access
6. In the text box below the table, type in your user name (you’d be creating this later) and click “add”
7. Give yourself a full access by checking the entire row for your user name
8. Scroll all the way to the bottom, click “save”
At this point, you’ll be taken back to the top page, and Jenkins is successfully secured. Restart Jenkins (servicejenkinsrestart)
Now you need to createanuser account for yourself.
a. Click “login” link at the top right portion of the page
b. Choose “create an account”
c. Use the user name you’ve used in the above step, and fill in the rest.