Friday, 28 April 2017

How to automate Jenkins build with Github

Automate Build Process

Using Jenkins and Git

These days automating the builds is a commonly observed practice, not only  it saves efforts  and time of a developer, but takes care of updating your server with the latest available code .

Let’s hit our innovation engine this time to make Jenkins team up with Git repo.

Plan of Action -

1. Developer check-ins the code, in Git Repo.
2. Jenkins listens to the event occurred.
3. Jenkins initiates the build and creates a war (in this example).
4. The war is later deployed onto the Apache Tomcat server running.

Requirements -

1. Project on Github. Here for example -

A simple project with a jsp - helloWorld.jsp.

<h3 style="color: blue"> Message from the project</h3>

2. Tomcat installed. Here I have installed it at this location - /home/jenkins/apache-tomcat-7.0.77, on my Fedora OS.

Start the tomcat server, for this example we have selected port 8081.

3. Download jenkins  and make it up and running.

For Fedora, I used the following commands -
sudo dnf install jenkins // installs
sudo service jenkins start / stop // kicks on/off
sudo chkconfig jenkins on // to monitor

Time to execute -

Once you successfully install Jenkins locally, please refer to the config changes required on the Jenkins dashboard @ localhost:8080. In case you are stuck anywhere take help of the below screenshot. It has the config I have used for this example.

Outcome -

Now whenever any commit is made in the git repo, the build will be triggered, and latest war will be deployed on the Tomcat server.

Please note - In case tomcat requires a user to be created, as the below line in - apache-tomcat-7.0.77/conf/tomcat-users.xml

<user username="admin" password="admin" roles="manager-script"/>

So here you go, tell at your workplace that you will take care of automating the builds, and enjoy :)

Happy coding !!

Featured post

JAVA based project, that can be used to hit DB using JDBC, from WSO2 ESB

Hi Buddies, Here is a small project that will enable you to hit MySQL DB using WSO2 ESB -

Popular Posts