CloudBees Jenkins Enterprise 15.5 User Guide

Table of Contents

1. Introducing CloudBees Jenkins Enterprise
Large Install Plugins
Optimized Utilization Plugins
Security Plugins
2. Terms and Definitions
3. Backup Plugin
Taking Backup
Configuring Backup
Restoring From Backup
4. Even Scheduler Plugin
Default Jenkins Behavior
Even Loading Strategy
Using Even Scheduler Plugin
Selecting Global Preference
Selecting Per-Job Preference
5. Folders Plugin
Setting up the Folders plugin
Using the Folders plugin
A sample taxonomy with the Folders plugin
Using folders with other CJE plugins
6. Folders Plus Plugin
Controlled slaves
Configuring Controlled slaves
Miscellaneous features
Health reports
Environment variables
List view column
Restricting children
7. Label Throttle Build Plugin
Setting up the Label Throttle Build plugin
Configuring a label throttle
8. Fast Archiver Plugin
Setting up Fast Archiver
9. Role Based Access Control Plugin
Concepts and Definitions
Setting up the Role Based Access Control plugin
Enabling the authorization strategy
Configuring and managing roles
Configuring and managing groups
Configuring and managing role filters
Example Configurations
Instance owned by one cross-functional team
Instance shared by multiple cross-functional teams
Instance shared by multiple single-function teams
Secret projects on a shared instance
Scripting RBAC. CLI commands
REST API in RBAC plugin
Managing RBAC group containers
Managing RBAC groups individually
Global management of RBAC roles
Managing RBAC roles individually
Recovering from a lock-out
Completely resetting the configuration
Finding hidden projects
10. Skip Next Build Plugin
Using the Skip Next Build plugin
Advanced usage
11. Template Plugin
Tutorial: Hello world builder
Define a template
Use a template
Changing the template definition
Tutorial: job template
Creating a template
Defining transformation
Attribute Type Reference
Text field
Text area
Nested Auxiliary Models
Select a string among many
Computed Value
Heterogeneous components from descriptors
Heterogeneous components from descriptors (one instance per descriptor)
Single Describable object
Select Item
Select Tool Installation
Select Credentials
Builder Template
Creating a new Builder Template
Defining a Transformer
Publisher Template
Job Templates
Folders Template
What a folder template controls and what it doesn’t
Folder features that work well with templates
Auxiliary Template
Accessing attributes of auxiliary instances
Templates Defined in Folders
Transformer Reference
Jelly-based transformation
Groovy template transformation
Template Security
Script Approval
Groovy Sandboxing
Advanced Template Techniques
Navigating around objects in context
Instance to Item, Item to Instance
Accessing containing folder
Accessing a folder template’s attributes from a child job template
Scripting Templates
REST API operations
CLI commands
Groovy scripting
Miscellaneous features
View Creation Filter plugin
Groovy View plugin
12. Validated Merge Plugin
Server setup
Client setup
Mental picture of the validated merge
Sending changes and have them validated
Access Control
Accessing the gate repository
Pushing to the upstream repository
Reusing a job between CI and validated merge
Dealing with post-build push failure
Refs in the gate repository
13. VMWare Pool Auto-Scaling Plugin
Machine Centers
Machine Pools
Building Jobs on Virtual Machines
Reserving a Virtual Machine for a build
Taking virtual machines offline
14. Plugin Usage Plugin
Using the Plugin Usage plugin
15. Wikitext Security Plugin
Supported Wiki Markup Languages
Using the Wikitext Security plugin
16. Update Center Plugin
Creating an Update Center
Using the update center
Info tab
Core tab
Plugins tab
Tools tab
Upload Core tab
Upload Plugin tab
Pull new versions
Pull everything
Reference Information
Version number rules
Other tasks
Removing a custom update center as an updates source from a Jenkins
17. Secure Copy Plugin
Creating an exported permalink
18. High Availability
Using haproxy as a reverse proxy
Components of CloudBees Jenkins Enterprise HA
CloudBees Jenkins Enterprise WAR file
CloudBees Jenkins Enterprise HA proxy WAR
CloudBees Jenkins Enterprise HA monitor tool
Fail-over behavior in more details
Sanity checking the environment while acting as primary
Requirements from the environment
HTTP reverse proxy
Troubleshooting and Tips
Nodes don’t form a cluster
Using UDP/Multicast
Using a newer HA version on top of CloudBees Jenkins Enterprise
Using a stand-by node as a slave
Copying a Jenkins installation
19. Workflow Plugin Suite
Restoring files
Stage View
Workflow Job Templates
Step 1: Create the Workflow Template
Step 2: Configure the Workflow Template
Step 3: Create and run a Workflow Job from the Workflow Template
20. Restarting Aborted Builds Plugin
Using the Restart Aborted Builds Plugin
21. Long-Running Build Plugin
Using the Long-Running Build plugin
22. Nodes Plus Plugin
Node owners
Configuring Node owners
23. Support Plugin
Generating a bundle
Getting a bundle from the CLI
Getting a bundle when Jenkins will not start
Controlling who can generate Support bundles
24. Consolidated Build View Plugin
Using the Consolidated Build View plugin
25. Quiet Start Plugin
26. NIO SSH Slaves Plugin
Using the NIO SSH Slaves plugin
27. Monitoring Plugin
Metrics based alerts
Creating some basic alerts
Managing alerts
Standard metrics
Standard health checks
28. Pull-Request Builder for GitHub Plugin
Setting up Pull-Request Builder for GitHub
Using Pull-Request Builder for GitHub
29. Visual Studio Team Services Plugin
Installing the Visual Studio Team Services plugin
Setting up Visual Studio Team Services Web Hook
Creating a Multi Branch job
Using "Jenkinsfile" to define the build configuration with the source code
Installing the Multibranch Workflow plugin
Creating a Jenkins Multibranch Workflow job to build all the branches and pull requests
30. Docker Workflow Plugin
Running build steps inside containers
Customizing slave allocation
Building and publishing images
Running and testing containers
Specifying a custom registry and server
Advanced usage
31. CloudBees Docker Build and Publish plugin
Usage guidelines
Docker CLI tool location should be set in the environment
32. Docker Hub Notification Trigger Plugin
Using Docker Hub Notification Trigger
Pull image build step
List Views
33. CloudBees Docker Traceability
Plugin Summary
Installation Guidelines
Plugin setup
Client-side configuration
Submitting deployment records
Getting info from the plugin
Known issues
Fingerprints automatic cleanup by Jenkins (JENKINS-28655)
34. Microsoft Azure CLI Plugin
Configuring a Job
Using the Microsoft Azure CLI in a Job
35. AWS CLI Plugin
Configuring a Job
Using the AWS CLI in a Job
Using the AWS CLI in a Workflow Job
Watching and Learning
36. Amazon Web Services Elastic Beanstalk
Getting Started with Amazon Web Services Elastic Beanstalk
Deploying the App to Elastic Beanstalk
37. Cloud Foundry CLI Plugin
Plugin Installation
Jenkins System Configuration
Job Configuration
Using the Cloud Foundry CLI in a Job
Using the Cloud Foundry CLI in a Workflow Job
Cloud Foundry CLI workflow syntax
Evaluating cf commands result
Workflow snipped generator
Security Notes
Watch and Learn
38. OpenShift CLI Plugin
Global Configuration
Job Configuration
Using the OpenShift CLI in a Workflow Job

List of Figures

5.1. Installing the Folders plugin
5.2. Creating a new Folder
5.3. Sample Taxonomy with Folders plugin
6.1. Enabling approved folders functionality on a slave
6.2. A slave with approved folders functionality enabled and no approved folders assigned
6.3. Creating a controlled slave request - step 1
6.4. Creating a controlled slave request - step 2
6.5. Creating a controlled slave request - step 3
6.6. Creating a controlled slave request - step 4
6.7. A slave’s approved folders screen
6.8. Creating a token for approving requests
6.9. Approving a controlled slave request
6.10. An approved request for a controlled slave
6.11. Completing a controlled slave request
6.12. A folder with an approved slave
6.13. A slave with an approved folder
6.14. Specifying parameter types for Folders
7.1. Install from the plugin manager
7.2. Set appropriate label on the slave configuration page
7.3. Go to the labels page
7.4. Set limit on the hypervisor
7.5. Label Throttle Build plugin in action
8.1. Fast archiver running
8.2. Fast archiving configuration
9.1. Enabling the Role Based Access Control authorization strategy
9.2. The main Jenkins screen with the additional icons for Groups and Roles
9.3. The Manage Roles action from the main Manage Jenkins screen
9.4. The Manage Roles screen after the Role Based Access Control authorization strategy Plugins RBAC Authorization Strategy has been initially enabled
9.5. Adding a role called Administrator
9.6. After clicking the Add button
9.7. The three icons for: checking all the check boxes in a row; clearing all the check boxes in a row; and removing the role.
9.8. After clicking on the Check all icon for the Administrator role
9.9. The initial groups screen for the root of a Jenkins instance
9.10. Creating a new group
9.11. Configuring a group
9.12. Managing a group
9.13. Adding a member to a group
9.14. A group with multiple members: another group; an external group; and a user
9.15. Removing a member from a group requires two step confirmation
9.16. The roles screen for a job within a Jenkins showing the roles, their permissions, and the groups that are assigned to each of the roles for this object and its children
9.17. The role filter screen for a job within a Jenkins instance where two roles are being filtered out
9.18. Using the script console to completely reset the Role Based Access Control plugin’s configuration
9.19. After successfully resetting the Role Based Access Control plugin’s configuration via the script console
10.1. The main project screen when a skip has been applied
10.2. Applying a skip to a project
10.3. Removing a skip from a project
11.1. Configuring a hello world builder
11.2. Using a hello world builder
11.3. Updating hello world builder template
11.4. Jenkins on Jenkins
11.5. "SCM" attribute in the template
11.6. Changing the pronoun of the template
11.7. Creating a new plugin job
11.8. Configuring a new plugin job
11.9. Generate Shell Script via Jelly/Groovy
11.10. Defining an auxiliary template for compiler options
11.11. Defining attributes for a compiler builder template
11.12. Defining a transformer for a compiler builder template
11.13. Using a compiler builder template
11.14. Job Templates
11.15. Folder Templates
12.1. The "Git Repository for Validated Merge" screen
12.2. Configuring the SSHD port
12.3. Repository model
14.1. Usage Count
15.1. Setting up project-specific descriptions
15.2. Wikitext Usage
15.3. Wikitext Output
16.1. Creating a new Update Center
16.2. Configuring an Update Center
16.3. Main update center informations screen
16.4. Uploading the Update Center Installer Plugin into a Jenkins instance
16.5. The Core tab of the Update Center screen
16.6. A core distribution being downloaded into the Update Center
16.7. The Plugins tab of the Update Center screen
16.8. The plugins details screen when no version of a plugin is installed in the update center
16.9. The plugins details screen with a version of the plugin installed in the update center
16.10. The Tools tab of the Update Center screen
16.11. The Upload Core tab of the Update Center screen
16.12. The Upload Plugin tab of the Update Center screen
17.1. Adding the “Import artifacts from an exported permalink”
17.2. After adding the “Import artifacts from an exported permalink”
17.3. The exported permalinks screen
17.4. Creating an exported permalink
17.5. Selecting the permalink to export
17.6. An exported permalink with generated secret
17.7. A fully configured “Import artifacts from an exported permalink” build step
20.1. Aborted Builds Administrative Warning
20.2. Aborted Builds List
21.1. Long-Running Build Configuration
21.2. Long-Running Build Execution
22.1. Configuring the node owners
23.1. Generating a bundle
23.2. Generating a bundle as a user who is not a Jenkins administrator
24.1. Enabling the consolidated build view
24.2. Showing the consolidated build view
26.1. Configuring the NIO SSH Slaves launcher
27.1. An alert where the condition has changed prior to the periodic checks running
27.2. An alert having entered the Failing state
27.3. An alert having entered the Recovering state
27.4. An alert having entered the Failed state
27.5. Some alerts having been silenced
28.1. Global Configuration
28.2. Github Commit Status
29.1. Jenkins - Plugin Manager - Visual Studio Team Services plugin
29.2. Service Hook Setup
29.3. Service Hook Setup
29.4. Build Trigger Setup
29.5. Jenkins - Plugin Manager - Multibranch Workflow plugin
29.6. Jenkins - New Workflow Multi Branch Project
29.7. Jenkins - Multibranch Workflow Project - Branch Sources
29.8. Jenkins - Multibranch Workflow Project - Branch Sources - Visual Studio Team Services
29.9. Visual Studio Team Services - Profile Page - Personal Access Token
29.10. Jenkins - Multibranch Workflow Project - Sub Jobs
31.1. Docker Build and Publish build step configuration (with Advanced options)
32.1. Trigger section of a freestyle job configuration
32.2. Adding a Webhook
32.3. Docker Hub Webhook Configuration
32.4. Callback landing page
32.5. Job filter in the list view configuration
32.6. Column selection of the list view configuration
33.1. Docker Traceability root page
33.2. Container info and deployment events on the container page
33.3. Container deployments summary on the image page
33.4. Docker image info facet
34.1. Microsoft Azure CLI job configuration
34.2. Microsoft Azure Installation configuration
35.1. AWS CLI sample shell step
35.2. AWS CLI workflow snippet
37.1. Cloud Foundry CLI plugin installation
37.2. Cloud Foundry CLI installer configuration
37.3. Reloading Jenkins Update Center
37.4. Cloud Foundry CLI job configuration
37.5. Cloud Foundry CLI sample shell step
37.6. Cloud Foundry CLI workflow snippet
38.1. OpenShift CLI job configuration
38.2. OpenShift CLI workflow snippet