Learning Continuous Integration with Jenkins
eBook - ePub

Learning Continuous Integration with Jenkins

Nikhil Pathania

Share book
  1. 542 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Learning Continuous Integration with Jenkins

Nikhil Pathania

Book details
Book preview
Table of contents
Citations

About This Book

A beginner's guide to implementing Continuous Integration and Continuous Delivery using Jenkins

About This Book

  • Speed up and increase software productivity and software delivery using Jenkins
  • Automate your build, integration, release, and deployment processes with Jenkins—and learn how continuous integration (CI) can save you time and money
  • Explore the power of continuous delivery using Jenkins through powerful real-life examples

Who This Book Is For

This book is for anyone who wants to exploit the power of Jenkins. This book servers a great starting point for those who are in the field DevOps and would like to leverage the benefits of CI and continuous delivery in order to increase productivity and reduce delivery time.

What You Will Learn

  • Take advantage of a continuous delivery solution to achieve faster software delivery
  • Speed up productivity using a continuous Integration solution through Jenkins
  • Understand the concepts of CI and continuous delivery
  • Orchestrate many DevOps tools using Jenkins to automate builds, releases, deployment, and testing
  • Explore the various features of Jenkins that make DevOps activities a piece of cake
  • Configure multiple build machines in Jenkins to maintain load balancing
  • Manage users, projects, and permissions in Jenkins to ensure better security
  • Leverage the power of plugins in Jenkins

In Detail

In past few years, Agile software development has seen tremendous growth across the world. There is huge demand for software delivery solutions that are fast yet flexible to frequent amendments. As a result, CI and continuous delivery methodologies are gaining popularity. Jenkins' core functionality and flexibility allows it to fit in a variety of environments and can help streamline the development process for all stakeholders.

This book starts off by explaining the concepts of CI and its significance in the Agile world with a whole chapter dedicated to it. Next, you'll learn to configure and set up Jenkins. You'll gain a foothold in implementing CI and continuous delivery methods. We dive into the various features offered by Jenkins one by one exploiting them for CI.

After that, you'll find out how to use the built-in pipeline feature of Jenkins. You'll see how to integrate Jenkins with code analysis tools and test automation tools in order to achieve continuous delivery. Next, you'll be introduced to continuous deployment and learn to achieve it using Jenkins.

Through this book's wealth of best practices and real-world tips, you'll discover how easy it is to implement a CI service with Jenkins.

Style and approach

This is a step-by-step guide to setting up a CI and continuous delivery system loaded with hands-on examples

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Learning Continuous Integration with Jenkins an online PDF/ePUB?
Yes, you can access Learning Continuous Integration with Jenkins by Nikhil Pathania in PDF and/or ePUB format, as well as other popular books in Computer Science & Software Development. We have over one million books available in our catalogue for you to explore.

Information

Year
2016
ISBN
9781785284830
Edition
1

Learning Continuous Integration with Jenkins


Table of Contents

Learning Continuous Integration with Jenkins
Credits
About the Author
About the Reviewer
www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Concepts of Continuous Integration
The agile software development process
Software development life cycle
Requirement analysis
Design
Implementation
Testing
Evolution
The waterfall model of software development
Disadvantages of the waterfall model
Who needs the waterfall model?
Agile to the rescue
How does the agile software development process work?
The Scrum framework
Important terms used in the Scrum framework
How does Scrum work?
Sprint planning
Sprint cycle
Daily scrum meeting
Monitoring sprint progress
The sprint review
Sprint retrospective
Continuous Integration
An example to understand Continuous Integration
Agile runs on Continuous Integration
Types of project that benefit from Continuous Integration
The best practices of Continuous Integration
Developers should work in their private workspace
Rebase frequently from the mainline
Check-in frequently
Frequent build
Automate the testing as much as possible
Don't check-in when the build is broken
Automate the deployment
Have a labeling strategy for releases
Instant notifications
How to achieve Continuous Integration
Development operations
Use a version control system
An example to understand VCS
Types of version control system
Centralized version control systems
Distributed version control systems
Use repository tools
Use a Continuous Integration tool
Creating a self-triggered build
Automate the packaging
Using build tools
Maven
MSBuild
Automating the deployments
Automating the testing
Use static code analysis
Automate using scripting languages
Perl
Test in a production-like environment
Backward traceability
Using a defect tracking tool
Continuous Integration benefits
Freedom from long integrations
Production-ready features
Analyzing and reporting
Catch issues faster
Spend more time adding features
Rapid development
Summary
2. Setting up Jenkins
Introduction to Jenkins
What is Jenkins made of?
Jenkins job
Jenkins parameters
Jenkins build
Jenkins post-build actions
Jenkins pipeline
Jenkins plugins
Why use Jenkins as a Continuous Integration server?
It's open source
Community-based support
Lots of plugins
Jenkins has a cloud support
Jenkins as a centralized Continuous Integration server
Hardware requirements
Running Jenkins inside a container
Installing Jenkins as a service on the Apache Tomcat server
Prerequisites
Installing Jenkins along with other services on the Apache Tomcat server
Installing Jenkins alone on the Apache Tomcat server
Setting up the Jenkins home path
Method 1 – configuring the context.xml file
Method 2 – creating the JENKINS_HOME environment variable
Why run Jenkins inside a container?
Conclusion
Running Jenkins as a standalone application
Setting up Jenkins on Windows
Installing Jenkins using the native Windows package
Installing Jenkins using the jenkins.war file
Changing the port where Jenkins runs
Setting up Jenkins on Ubuntu
Installing the latest version of Jenkins
Installing the latest stable version of Jenkins
Changing the Jenkins port on Ubuntu
Setting up Jenkins on Fedora
Installing the latest version of Jenkins
Installing the latest stable version of Jenkins
Changing the Jenkins port on Fedora
Sample use cases
Netflix
Yahoo!
Summary
3. Configuring Jenkins
Creating your first Jenkins job
Adding a buil...

Table of contents