CloudBees Jenkins Enterprise 15.11 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. Secure Copy Plugin
Creating an exported permalink
17. 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
18. Pipeline Plugin Suite
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
Using the Restart Aborted Builds Plugin
20. Long-Running Build Plugin
Using the Long-Running Build plugin
21. Nodes Plus Plugin
Node owners
Configuring Node owners
22. 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
23. Consolidated Build View Plugin
Using the Consolidated Build View plugin
24. Quiet Start Plugin
25. NIO SSH Slaves Plugin
Using the NIO SSH Slaves plugin
26. Monitoring Plugin
Metrics based alerts
Creating some basic alerts
Managing alerts
Standard metrics
Standard health checks
27. Pull-Request Builder for GitHub Plugin
Setting up Pull-Request Builder for GitHub
Using Pull-Request Builder for GitHub
28. 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 Pipeline plugin
Creating a Jenkins Multibranch Pipeline job to build all the branches and pull requests
29. Docker Pipeline 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
30. CloudBees Docker Build and Publish plugin
Usage guidelines
Docker CLI tool location should be set in the environment
31. Docker Hub Notification Trigger Plugin
Using Docker Hub Notification Trigger
Pull image build step
List Views
32. 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)
33. Microsoft Azure CLI Plugin
Configuring a Job
Using the Microsoft Azure CLI in a Job
34. AWS CLI Plugin
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
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
Global Configuration
Job Configuration
Using the OpenShift CLI in a Pipeline Job
38. CloudBees Bitbucket Cloud Branch Source Plugin
Branches and pull requests auto-discovering
Team Folders
Webhooks registering
Credentials configuration
39. CloudBees GitHub Branch Source Plugin
GitHub Pull Requests
Creating A Project
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