Jenkins

By: Manjunath C B

Contents

  1. Introduction
  2. Continuous Integration
  3. CI Functions and Benifits
  4. CI with Jenkin
  5. CI at Shieldsquare
  6. CI Practices with respect to developers and devops.
  7. Demo
  8. Conclusion

 

  •  Jenkins is a powerful application that allows continuous integration and continuous delivery of projects, regardless of the platform you are working on.
  • It is a free source that can handle any kind of build or continuous integration.
  • You can integrate Jenkins with a number of testing and deployment technologies.
  • Jenkins helps to build and test software projects continuously.

Introduction

What is continuous Integration

  • Continuous Integration is a development practice that requires developers to integrate code into a shared repository at regular intervals.

  • This concept meant to remove the problem of finding later occurrence of issues in the build lifecycle.

  • Continuous integration requires the developers to have frequent builds.

  • The common practice is that whenever a code commit occurs, a build should be triggered.

Manual Continuous Integration 

  1. Create feedback loops
  2. Create precommit hooks
  3. Create post commit hooks
  4. Check syntax and semantics
  5. Run unit tests
  6. Run functional tests
  7. Dependency check
  8. Bundling
  9. Deploying
  10. Any point build fails loopback to developer

CI Functions

  1. Find the bugs
  2. Everyone can see whats happening
  3. Automate the build
  4. Process the build fast
  5. CI leads to CD(Continuous Deployment) and deliver software more rapidly.
  6. Enables Fail Fast
  7.  Triggers the developer when any build failure happens
  8. Tracks code coverage.

CI Benifits

CI Tools & Jenkin features

  1. Bamboo, Team city, Jenkins  (Plugin support)
  2. Jenkins enables many features
  • Maven build , Ant build

  • Compatible with Git,subversion,

  •  Chat service,

  • Nofification,

  • Code coverage, Code revision, Review board,

  • Feedback service

  • Scheduling the jobs

Shieldsquare development and devops flow

Practices to follow By Developers

  1. Changing Pom.xml :  version as ${TagVersion}, remove <final name>

  2. Assigning tags in eclipse and pushing to git.

  3. Standard format to assign tags (Versions).

  4. Jenkin branch in bitbucket.

Jenkins Demo

  • Brief on installation​
  • Home page

  • Global settings

  • Plugins

  • Creating jobs running jobs

  • Console output

  • Workspace

  • Webhook bitbucket

  • Maven dependency folder on jenkin server.

  • Pipeline: all modeules,

  • Parameterized - Remote server, Build name, Environmental variables....

server setup

Jenkins Folder structure

Jenkins Folder structure

Build ARtifacts

Conclusion

        Jenkin is the best know tools for continuous integration. It is open source , easy to install, it enables vast featurs with it rich plugins.
It is compatible with shieldsquare development environment. Jenkin automates the building process and reduces a lot of manual effort.
The unit testing , functional testing and code coverage tools can be integrated with jenkins.Jenkins enables job scheduling,triggering developers on build fail, cron jobs and building modules when new release is given.

Additionals

Questions ?

Made with Slides.com