Document Type
|
:
|
BL
|
Record Number
|
:
|
856547
|
Main Entry
|
:
|
Pathania, Nikhil.
|
Title & Author
|
:
|
Learning Continuous Integration with Jenkins. : : a beginner's guide to implementing Continuous Integration and Continuous Delivery using Jenkins 2.
|
Edition Statement
|
:
|
2nd ed.
|
Publication Statement
|
:
|
Birmingham :: Packt Publishing,, 2017.
|
Page. NO
|
:
|
1 online resource (353 pages)
|
ISBN
|
:
|
1788475194
|
|
:
|
: 1788479351
|
|
:
|
: 9781788475198
|
|
:
|
: 9781788479356
|
|
:
|
1788479351
|
|
:
|
9781788479356
|
Contents
|
:
|
Cover -- Title Page -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Concepts of Continuous Integration -- Software Development Life Cycle -- Requirement analysis -- Design -- Implementation -- Testing -- Evolution -- Waterfall model of software development -- Disadvantages of the Waterfall model -- Advantages of the Waterfall model -- Agile to the rescue -- The twelve agile principles -- How does the Agile software development process work? -- Advantages of Agile software development process -- The Scrum framework -- Important terms used in the Scrum framework -- How does Scrum work? -- Sprint Planning -- Sprint cycle -- Daily Scrum meeting -- Monitoring Sprint progress -- Sprint Review -- Sprint Retrospective -- Continuous Integration -- Agile runs on CI -- Types of projects that benefit from CI -- Elements of CI -- Version control system -- Branching strategy -- GitFlow branching model -- CI tool -- Self-triggered builds -- Code coverage -- Code coverage tools -- Static code analysis -- Automated testing -- Binary repository tools -- Automated packaging -- Benefits of using CI -- Freedom from long integrations -- Metrics -- Catching issues faster -- Rapid development -- Spend more time adding features -- Summary -- Chapter 2: Installing Jenkins -- Running Jenkins inside a servlet container -- Prerequisites -- Installing Java -- Installing Apache Tomcat -- Enabling the firewall and port 8080 -- Configuring the Apache Tomcat server -- Installing Jenkins on the Apache Tomcat server -- Installing Jenkins alone on an Apache Tomcat server -- Setting up the Jenkins home path -- Installing a standalone Jenkins server on Windows -- Prerequisites -- Installing Java -- Installing the latest stable version of Jenkins.
|
|
:
|
Adding Artifactory credentials inside Jenkins -- Installing the Artifactory plugin in Jenkins -- Configuring the Artifactory Plugin -- Summary -- Chapter 7: Continuous Integration Using Jenkins -- Jenkins CI design -- Branching strategy -- The master branch -- The integration branch -- The feature branch -- The CI pipeline -- Toolset for CI -- Creating the CI pipeline -- Creating a new repository on GitHub -- Using the SonarQube scanner for Maven -- Writing the Jenkinsfile for CI -- Spawning a Docker container -- build agent -- Downloading the latest source code from VCS -- Pipeline code to perform the build and unit test -- Pipeline code to perform static code analysis -- Pipeline code to perform integration testing -- Pipeline code to publish built artifacts to Artifactory -- Combined CI pipeline code -- Using a Jenkinsfile -- Creating a Multibranch Pipeline in Jenkins -- Re-registering the Webhooks -- Continuous Integration in action -- Viewing static code analysis in SonarQube -- Accessing SonarQube analysis right from Jenkins -- Viewing artifacts in Artifactory -- Failing the build when quality gate criteria are not met -- Summary -- Chapter 8: Continuous Delivery Using Jenkins -- Jenkins CD design -- Branching strategy -- The release branch -- CD pipeline -- Toolset for CD -- Creating a Docker image -- performance testing -- Adding Docker container credentials in Jenkins -- Updating the Docker settings inside Jenkins -- Creating a performance test using JMeter -- Installing Java -- Installing Apache JMeter -- Starting JMeter -- Creating a performance test case -- Creating a thread group -- Creating a sampler -- Adding a listener -- The CD pipeline -- Writing the Jenkinsfile for CD -- Revisiting the pipeline code for CI -- Pipeline code to stash the build artifacts -- Spawning a Docker container -- performance testing.
|
|
:
|
Anyone can do anything -- Legacy mode -- Logged-in users can do anything -- Matrix-based security -- Project-based Matrix Authorization Strategy -- Summary -- Chapter 5: Distributed Builds -- Distributed build and test -- The Jenkins Manage Nodes page -- Adding Jenkins slaves -- standalone Linux machine/VMs -- Passing environment variables to Jenkins slaves -- Passing tools' locations to Jenkins slaves -- Launching a Jenkins slave via SSH -- More about the active Jenkins slave -- Adding Jenkins slaves -- standalone Windows machine/VMs -- Launching a Jenkins slave via Java Web Start -- Adding Jenkins slaves -- Docker containers -- Prerequisites -- Setting up a Docker server -- Setting up the repository -- Installing Docker using apt-get -- Installing Docker using a .deb package -- Enabling Docker remote API -- Modifying the docker.conf file -- Modifying the docker.service file -- Installing the Docker plugin -- Configuring the Docker plugin -- Creating a Docker image -- Jenkins slave -- Adding Docker container credentials in Jenkins -- Updating the Docker settings inside Jenkins -- Summary -- Chapter 6: Installing SonarQube and Artifactory -- Installing and configuring SonarQube -- Installing Java -- Downloading the SonarQube package -- Running the SonarQube application -- Resetting the default credentials and generating a token -- Creating a project inside SonarQube -- Installing the build breaker plugin for SonarQube -- Creating quality gates -- Updating the default quality profile -- Installing the SonarQube plugin in Jenkins -- Configuring the SonarQube plugin in Jenkins -- Installing and configuring Artifactory -- Installing Java -- Downloading the Artifactory package -- Running the Artifactory application -- Resetting the default credentials and generating an API key -- Creating a repository in Artifactory.
|
|
:
|
Basic structure of a Declarative Pipeline -- The node block -- The stage block -- Directives -- Steps -- Jenkins pipeline syntax utility -- Prerequisite -- Installing the Pipeline Maven Integration Plugin -- Creating a Jenkins pipeline using the pipeline syntax utility -- Multibranch pipeline -- Prerequisite -- Adding GitHub credentials inside Jenkins -- Configuring Webhooks on GitHub from Jenkins -- Create a new repository on GitHub -- Using a Jenkinsfile -- Creating a Multibranch pipeline in Jenkins -- Re-register the Webhooks -- Jenkins Multibranch pipeline in action -- Creating a new feature branch to test the multibranch pipeline -- Jenkins Blue Ocean -- Installing the Jenkins Blue Ocean plugin -- View your regular Jenkins pipeline in Blue Ocean -- Creating a pipeline in Blue Ocean -- Summary -- Chapter 4: Configuring Jenkins -- The Jenkins Plugin Manager -- Updating Jenkins plugins -- Installing a new Jenkins plugin -- Uninstalling or downgrading a Jenkins plugin -- Configuring proxy settings in Jenkins -- Manually installing a Jenkins plugin -- Jenkins backup and restore -- Installing the Periodic Backup plugin -- Configuring the Periodic Backup plugin -- Creating a Jenkins backup -- Restoring a Jenkins backup -- Viewing the backup and restore logs -- Upgrading Jenkins -- Upgrading Jenkins running on Tomcat Server -- Upgrading standalone Jenkins running on Windows -- Upgrading standalone Jenkins running on Ubuntu -- Upgrading Jenkins running on a Docker container -- User administration -- Enabling/disabling global security on Jenkins -- Enabling/disabling computers to remember user credentials -- Authentication methods -- Delegating to a servlet container -- Jenkins' own user database -- LDAP -- Unix user/group database -- Creating new users inside Jenkins -- People page -- User information and settings in Jenkins -- Authorization methods.
|
|
:
|
Starting, stopping, and restarting Jenkins on Windows -- Installing a standalone Jenkins server on Ubuntu -- Prerequisites -- Installing Java -- Installing the latest version of Jenkins -- Installing the latest stable version of Jenkins -- Starting, stopping, and restarting Jenkins on Ubuntu -- Installing a standalone Jenkins server on Red Hat Linux -- Prerequisites -- Installing Java -- Installing the latest version of Jenkins -- Installing the latest stable version of Jenkins -- Starting, stopping, and restarting Jenkins on Red Hat Linux -- Running Jenkins behind a reverse proxy -- Prerequisites -- Installing and configuring Nginx -- Configuring the firewall on a Nginx server -- Starting, stopping, and restarting the Nginx server -- Securing Nginx using OpenSSL -- Creating an SSL certificate -- Creating strong encryption settings -- Modifying the Nginx configuration -- Enabling the changes and testing our Nginx setup -- Configuring the Jenkins server -- Adding reverse proxy settings to the Nginx configuration -- Running Nginx and Jenkins on the same machine -- Running Jenkins on Docker -- Prerequisites -- Setting up a Docker host -- Setting up the repository -- Installing Docker -- Installing from a package -- Running the Jenkins container -- Running a Jenkins container using a data volume -- Testing the data volume -- Creating development and staging instances of Jenkins -- Prerequisites -- Creating an empty data volume -- Copying data between data volumes -- Creating the development and staging instances -- Summary -- Chapter 3: The New Jenkins -- The Jenkins setup wizard -- Prerequisites -- Unlocking Jenkins -- Customizing Jenkins -- Creating the first admin user -- The new Jenkins pipeline job -- Prerequisite -- Creating a Jenkins pipeline job -- The Global Tool Configuration page -- Jenkins pipeline Stage View -- Declarative Pipeline syntax.
|
Abstract
|
:
|
A step-by-step guide to quickly set up Jenkins across various platforms and create a Continuous Integration and Continuous Delivery pipeline using all the new features introduced in Jenkins 2.x such as Pipeline as a Code, Multibranch pipeline, Blue Ocean Plugin, and more.
|
Subject
|
:
|
Computer software-- Development.
|
Subject
|
:
|
Computer programming-- software development.
|
Subject
|
:
|
Computer software-- Development.
|
Subject
|
:
|
Computers-- Software Development Engineering-- Quality Assurance Testing.
|
Subject
|
:
|
Computers-- Software Development Engineering-- Tools.
|
Subject
|
:
|
Computers-- Systems Architecture-- Distributed Systems Computing.
|
Subject
|
:
|
Distributed systems.
|
Subject
|
:
|
Software testing verification.
|
Subject
|
:
|
Jenkins (Software development tool)
|
|
:
|
Jenkins (Software development tool)
|
Dewey Classification
|
:
|
005.11
|
LC Classification
|
:
|
QA76.73.J45.P384 2017eb
|
Added Entry
|
:
|
Mehta, Deep.
|