Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Chapter 1. Exploring JenkinsJenkins is an open source automation server (after Jenkins 2.0 was released) written in Java. It was one of the most popular Continuous Integration (CI) tools used to build and test different kinds of projects. Now, it is also used for Continuous Delivery (CD) after Jenkins 2.0. This chapter describes in detail the basics of CI and overview of Jenkins 2. It describes the importance of CI and CD as a practice to cultivate DevOps culture in recent times.This chapter also describes installation and configuration of Jenkins 2. We are going to take a jumpstart tour through some of the key features of Jenkins and plugin installations as well.To be precise, we will discuss the following topics in this chapter:Introduction of Jenkins 2 and its featuresInstallation of Jenkins 2Jumpstart tour of Jenkins dashboardConfiguration settings in JenkinsOverview of CICD pipelineLets get started! On your marks, get set, go!In this chapter, we will see what Jenkins 2 is and the
Chapter 1. Exploring Jenkins
Chapter 2. Installation and Configuration of Code Repository and Build ToolsWe have seen the CI/CD pipeline in the previous chapter, where source code repositories and automated build were discussed in detail. SVN, Git, CVS, and StarTeam are some of the popular code repositories that manage changes to code, artifacts, or documents while Ant and Maven are popular build automation tools for Java applications.This chapter describes in detail how to prepare an environment for application life cycle management and configure it with Jenkinsâan open source Continuous Integration (CI) tool. It will cover how to integrate Eclipse and Jenkins so builds can be run from Eclipse as well. These are the major points that we will cover in this chapter:Overview of JenkinsInstalling Java and configuring environment variablesInstalling and configuring AntInstalling MavenConfiguring Ant, Maven, and JDK in JenkinsOverview of GitHubCreating a new build job in Jenkins with GitHubEclipse and Jenkins integra
Chapter 2. Installation and Configuration of Code Repository and Build Tools
Chapter 3. Managing Code Quality and NotificationsSo far we have seen how to set up an environment to use Jenkins for Continuous Integration and we have also configured build tools in Jenkins. Integration of Eclipse with Jenkins was also covered and that will help developers to easily execute Jenkins jobs from the IDE.We will start our journey with Continuous Code Qualityâstatic code analysis-- and it will be followed by Continuous Integration, Continuous Delivery, Continuous Testing, Continuous Deployment, Continuous Monitoring, and Continuous Security. For static code analysis, we will use SonarQube to analyze a spring-based Java project.SonarQube is an open source quality management platform for maintaining Continuous Code Quality.In this chapter, we will cover the following topics:Jenkins 2.x integration with Sonar 6.3Quality Gate pluginEmail notifications on build statusIn this chapter, we will cover static code analysis as part of Continuous Integration practice as a part of ou
Chapter 3. Managing Code Quality and Notifications
Chapter 4. Continuous Integration with JenkinsContinuous Integration is one of the most important DevOps practices and serves as a base to implement DevOps culture in any organization. It is all about committing code into shared repositories such as Git or SVN multiple times, based on feature completion or bug fixes, and then verifying it with static code analysis using SonarQube, automated builds (using Ant, Maven, or Gradle), executing unit test cases, and creating a package.There are many tools that can be utilized for Continuous Integration. Jenkins is one of the most popular open source tools that can be utilized for multiple programming languages in which applications can be built. VSTS and Atlassian Bamboo are some other tools or services that can be utilized for Continuous Integration.This chapter describes in detail how to create and configure build jobs for Java, and how to run build jobs and unit test cases using Ant and Maven build tools. It covers all aspects of running a
Chapter 4. Continuous Integration with Jenkins
Chapter 5. Continuous Delivery - Implementing Automated DeploymentOnce we have a package ready for deployment after Continuous Integration, our next step should be deployment of that package in to a web or application server.We can deploy WAR files manually, or with commands (batch file or shell script), or with Jenkins plugins, or any third-party tool that can be integrated with Jenkins. In our case, we will use Jenkins plugins for application deployment into runtime environments, which can be local or remote.This chapter will take one step forward in the DevOps pipeline by deploying artifacts in local or remote application servers. It will give insight into automated deployment and continuous delivery processes and it will also cover how to deploy applications on public cloud platforms using Jenkins. In this chapter, we will cover following topics:An overview of Continuous Delivery and Continuous DeploymentInstalling TomcatDeploying a war file from Jenkins to TomcatDeploying a war fi
Chapter 5. Continuous Delivery - Implementing Automated Deployment
Chapter 6. Continuous Testing - Functional and Load Testing with JenkinsContinuous Testing is one of the most important DevOps practices available for the End to End Automation of application lifecycle management.It not only considers automation, but it also includes aspects such as culture change and tools. It is essential to integrate automated tests into application lifecycle management early, to test quickly and in a timely manner, and to repeat the test execution process efficiently.This chapter will give insights into how functional testing and load testing can be performed and how they can be integrated with Jenkins to adopt Continuous Testing practices as part of a DevOps culture.This is not the whole picture of Continuous Testing, but it will certainly give a glimpse of how to use Continuous Testing DevOps practices to change the existing culture using automated tests. In this chapter, we will cover following topics:Functional testing with SeleniumJenkins and Selenium integrat
Chapter 6. Continuous Testing - Functional and Load Testing with Jenkins
Chapter 7. Build Pipeline and Pipeline as a CodeUp to now, we have covered all specific tasks that are individual and can work as a stepping stone to performing other steps, such as static code analysis, Continuous Integration, Continuous Delivery, and Continuous Testing.What if we need to fix the sequence of execution of all such tasks with or without manual intervention?What if we want to create a pipeline where one successful execution of Job can lead to another execution of Job?This is where we will utilize the Build Pipeline plugin and the Pipeline as a Code feature available in Jenkins 2 for the orchestration of the end-to-end automation of Application Life Cycle Management. We have executed a pipeline and all build jobs on a Windows system. Based on your operating system, there might be some changes that you may need to do and we have mentioned these as comments at specific places in the script or code.This chapter will cover how to orchestrate a build job to execute it in a spe
Chapter 7. Build Pipeline and Pipeline as a Code
Chapter 8. Managing and Monitoring JenkinsThe management and monitoring of Jenkins is essential, as it is at the core of our automation vision. We can utilize existing Jenkins features or plugins to manage and monitor Jenkins and its jobs effectively.This chapter gives insight into the management of Jenkins nodes and monitoring them with Java melody to provide details on the utilization of resources. It also covers how to monitor build jobs configured for Java or .NET-related applications, and managing those configurations by keeping backups of them. This chapter describes the basic security configuration available in Jenkins in detail, for better access control and authorization. We will cover the following topics in this chapter:Managing Jenkins Master and Agent nodesJenkins Monitoring with Java MelodyManaging job-specific configurations - backup and restoreManaging disk usageBuild job-specific monitoring with the Build Monitor pluginThe Audit Trail plugin- overview and usageThe Work
Chapter 8. Managing and Monitoring Jenkins
Chapter 9. Security in JenkinsUp to now we have seen static code analysis, Continuous Integration, Continuous Delivery/Deployment, Continuous Testing, the orchestration of build jobs using the build pipeline plugin and pipeline as a code, and the management and monitoring of Jenkins resources.This chapter will cover the security management options available in Jenkins.It will help to perform user management, authentication, and authorization, including matrix-based security and role-based access. We will cover the following major topics in this chapter:User managementRole-based securityProject-based securityIn this chapter, we will cover continuous security practices as a part of our DevOps journey:Thread details available on Jenkins Master using Jenkins Monitoring PluginAt the end of this chapter, we will know how to configure role-based and project-based security in Jenkins, as well as user management.
Chapter 9. Security in Jenkins
← Prev
Back
Next →
← Prev
Back
Next →