Jenkins
By: Manjunath C B
Contents
- Introduction
- Continuous Integration
- CI Functions and Benifits
- CI with Jenkin
- CI at Shieldsquare
- CI Practices with respect to developers and devops.
- Demo
- 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
- Create feedback loops
- Create precommit hooks
- Create post commit hooks
- Check syntax and semantics
- Run unit tests
- Run functional tests
- Dependency check
- Bundling
- Deploying
- Any point build fails loopback to developer
CI Functions
- Find the bugs
- Everyone can see whats happening
- Automate the build
- Process the build fast
- CI leads to CD(Continuous Deployment) and deliver software more rapidly.
- Enables Fail Fast
- Triggers the developer when any build failure happens
- Tracks code coverage.
CI Benifits
CI Tools & Jenkin features
- Bamboo, Team city, Jenkins (Plugin support)
- 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
-
Changing Pom.xml : version as ${TagVersion}, remove <final name>
-
Assigning tags in eclipse and pushing to git.
-
Standard format to assign tags (Versions).
-
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.
- Additinal information on : Habits of highly effective jenkin users
Additionals
- Cloud Bees: https://www.cloudbees.com/
Questions ?
Jenkins Demo
By MANJUNATH BAGEWADI
Jenkins Demo
- 1,244