CloudBees Jenkins Enterprise 15.11 User Guide


Table of Contents

1. Introducing CloudBees Jenkins Enterprise
Introduction
Large Install Plugins
Optimized Utilization Plugins
Security Plugins
2. Terms and Definitions
3. Backup Plugin
Introduction
Taking Backup
Configuring Backup
Restoring From Backup
4. Even Scheduler Plugin
Introduction
Default Jenkins Behavior
Even Loading Strategy
Using Even Scheduler Plugin
Selecting Global Preference
Selecting Per-Job Preference
5. Folders Plugin
Introduction
Overview
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
Introduction
Controlled slaves
Configuring Controlled slaves
Troubleshooting
Miscellaneous features
Moving
Health reports
Icons
Environment variables
List view column
Restricting children
7. Label Throttle Build Plugin
Introduction
Overview
Setting up the Label Throttle Build plugin
Configuring a label throttle
8. Fast Archiver Plugin
Introduction
Overview
Setting up Fast Archiver
9. Role Based Access Control Plugin
Introduction
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
group-membership
create-group
delete-group
group-role-assignments
list-groups
REST API in RBAC plugin
Managing RBAC group containers
Managing RBAC groups individually
Global management of RBAC roles
Managing RBAC roles individually
Troubleshooting
Recovering from a lock-out
Completely resetting the configuration
Finding hidden projects
10. Skip Next Build Plugin
Introduction
Using the Skip Next Build plugin
Advanced usage
11. Template Plugin
Introduction
Tutorial: Hello world builder
Define a template
Use a template
Changing the template definition
Tutorial: job template
Creating a template
Defining transformation
Concepts
Models
Attributes
Attribute Type Reference
Text field
Text area
Checkbox
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
Configuration
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
Introduction
Tutorial
Server setup
Client setup
Mental picture of the validated merge
Sending changes and have them validated
Access Control
Permissions
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
Tags
Branches
13. VMWare Pool Auto-Scaling Plugin
Introduction
Configuration
Machine Centers
Machine Pools
Building Jobs on Virtual Machines
Reserving a Virtual Machine for a build
Taking virtual machines offline
14. Plugin Usage Plugin
Introduction
Using the Plugin Usage plugin
Limitations
15. Wikitext Security Plugin
Introduction
Overview
Supported Wiki Markup Languages
Configuration
Using the Wikitext Security plugin
16. Secure Copy Plugin
Introduction
Creating an exported permalink
17. High Availability
Introduction
Tutorial
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
Storage
HTTP reverse proxy
Network
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
18. Pipeline Plugin Suite
Introduction
Checkpoints
Restoring files
Stage View
Pipeline Job Templates
Step 1: Create the Pipeline Template
Step 2: Configure the Pipeline Template
Step 3: Create and run a Pipeline Job from the Pipeline Template
19. Restarting Aborted Builds Plugin
Introduction
Using the Restart Aborted Builds Plugin
20. Long-Running Build Plugin
Introduction
Using the Long-Running Build plugin
Limitations
21. Nodes Plus Plugin
Introduction
Node owners
Configuring Node owners
22. Support Plugin
Introduction
Generating a bundle
Getting a bundle from the CLI
Getting a bundle when Jenkins will not start
Controlling who can generate Support bundles
23. Consolidated Build View Plugin
Introduction
Using the Consolidated Build View plugin
24. Quiet Start Plugin
25. NIO SSH Slaves Plugin
Introduction
Using the NIO SSH Slaves plugin
26. Monitoring Plugin
Introduction
Metrics based alerts
Creating some basic alerts
Managing alerts
Reference
Standard metrics
Standard health checks
27. Pull-Request Builder for GitHub Plugin
Introduction
Overview
Setting up Pull-Request Builder for GitHub
Using Pull-Request Builder for GitHub
28. Visual Studio Team Services Plugin
Introduction
Overview
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 Pipeline plugin
Creating a Jenkins Multibranch Pipeline job to build all the branches and pull requests
29. Docker Pipeline Plugin
Introduction
Running build steps inside containers
Customizing slave allocation
Building and publishing images
Running and testing containers
Specifying a custom registry and server
Advanced usage
Demonstrations
30. CloudBees Docker Build and Publish plugin
Usage guidelines
Limitations
Docker CLI tool location should be set in the environment
31. Docker Hub Notification Trigger Plugin
Introduction
Using Docker Hub Notification Trigger
Pull image build step
List Views
32. CloudBees Docker Traceability
Plugin Summary
Installation Guidelines
Plugin setup
Client-side configuration
Use-cases
Submitting deployment records
Getting info from the plugin
Search
Integrations
API
Known issues
Fingerprints automatic cleanup by Jenkins (JENKINS-28655)
33. Microsoft Azure CLI Plugin
Introduction
Configuring a Job
Using the Microsoft Azure CLI in a Job
34. AWS CLI Plugin
Introduction
Configuring a Job
Using the AWS CLI in a Job
Using the AWS CLI in a Pipeline Job
Watching and Learning
35. Amazon Web Services Elastic Beanstalk
Getting Started with Amazon Web Services Elastic Beanstalk
Deploying the App to Elastic Beanstalk
36. Cloud Foundry CLI Plugin
Introduction
Plugin Installation
Jenkins System Configuration
Job Configuration
Using the Cloud Foundry CLI in a Job
Using the Cloud Foundry CLI in a Pipeline Job
Cloud Foundry CLI Pipeline syntax
Evaluating cf commands result
Pipeline snippet generator
Security Notes
Watch and Learn
37. OpenShift CLI Plugin
Introduction
Global Configuration
Job Configuration
Using the OpenShift CLI in a Pipeline Job
38. CloudBees Bitbucket Cloud Branch Source Plugin
Introduction
Branches and pull requests auto-discovering
Team Folders
Webhooks registering
Credentials configuration
39. CloudBees GitHub Branch Source Plugin
Introduction
GitHub Pull Requests
Creating A Project
Credentials
Exploring an Imported Repository
Build Triggers & Webhooks

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. Adding the “Import artifacts from an exported permalink”
16.2. After adding the “Import artifacts from an exported permalink”
16.3. The exported permalinks screen
16.4. Creating an exported permalink
16.5. Selecting the permalink to export
16.6. An exported permalink with generated secret
16.7. A fully configured “Import artifacts from an exported permalink” build step
19.1. Aborted Builds Administrative Warning
19.2. Aborted Builds List
20.1. Long-Running Build Configuration
20.2. Long-Running Build Execution
21.1. Configuring the node owners
22.1. Generating a bundle
22.2. Generating a bundle as a user who is not a Jenkins administrator
23.1. Enabling the consolidated build view
23.2. Showing the consolidated build view
25.1. Configuring the NIO SSH Slaves launcher
26.1. An alert where the condition has changed prior to the periodic checks running
26.2. An alert having entered the Failing state
26.3. An alert having entered the Recovering state
26.4. An alert having entered the Failed state
26.5. Some alerts having been silenced
27.1. Global Configuration
27.2. Github Commit Status
28.1. Jenkins - Plugin Manager - Visual Studio Team Services plugin
28.2. Service Hook Setup
28.3. Service Hook Setup
28.4. Build Trigger Setup
28.5. Jenkins - Plugin Manager - Multibranch Pipeline plugin
28.6. Jenkins - New Pipeline Multi Branch Project
28.7. Jenkins - Multibranch Pipeline Project - Branch Sources
28.8. Jenkins - Multibranch Pipeline Project - Branch Sources - Visual Studio Team Services
28.9. Visual Studio Team Services - Profile Page - Personal Access Token
28.10. Jenkins - Multibranch Pipeline Project - Sub Jobs
30.1. Docker Build and Publish build step configuration (with Advanced options)
31.1. Trigger section of a freestyle job configuration
31.2. Adding a Webhook
31.3. Docker Hub Webhook Configuration
31.4. Callback landing page
31.5. Job filter in the list view configuration
31.6. Column selection of the list view configuration
32.1. Docker Traceability root page
32.2. Container info and deployment events on the container page
32.3. Container deployments summary on the image page
32.4. Docker image info facet
33.1. Microsoft Azure CLI job configuration
33.2. Microsoft Azure Installation configuration
34.1. AWS CLI sample shell step
34.2. AWS CLI Pipeline snippet
36.1. Cloud Foundry CLI plugin installation
36.2. Cloud Foundry CLI installer configuration
36.3. Reloading Jenkins Update Center
36.4. Cloud Foundry CLI job configuration
36.5. Cloud Foundry CLI sample shell step
36.6. Cloud Foundry CLI Pipeline snippet
37.1. OpenShift CLI job configuration
37.2. OpenShift CLI Pipeline snippet