All Projects → jenkinsci → custom-tools-plugin

jenkinsci / custom-tools-plugin

Licence: other
A generic tool installer for Jenkins

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to custom-tools-plugin

artifact-promotion-plugin
A simple Jenkins plugin to promote artifacts.
Stars: ✭ 29 (+16%)
Mutual labels:  jenkins, jenkins-plugin, adopt-this-plugin
parameterized-trigger-plugin
Jenkins parameterized-trigger plugin
Stars: ✭ 63 (+152%)
Mutual labels:  jenkins, jenkins-plugin, adopt-this-plugin
badge-plugin
Jenkins Badge plugin
Stars: ✭ 29 (+16%)
Mutual labels:  jenkins-plugin, adopt-this-plugin
osf-builder-suite-for-sfcc-deploy-plugin
OSF Builder Suite For Salesforce Commerce Cloud :: Deploy
Stars: ✭ 14 (-44%)
Mutual labels:  jenkins, jenkins-plugin
build-user-vars-plugin
Set of environment variables that describe the user who started the build
Stars: ✭ 40 (+60%)
Mutual labels:  jenkins, jenkins-plugin
bitbucket-push-and-pull-request-plugin
Plugin for Jenkins v2.138.2 or later, that triggers job builds on Bitbucket's push and pull request events.
Stars: ✭ 47 (+88%)
Mutual labels:  jenkins, jenkins-plugin
Hashicorp Vault Plugin
Jenkins plugin to populate environment variables from secrets stored in HashiCorp's Vault.
Stars: ✭ 191 (+664%)
Mutual labels:  jenkins, jenkins-plugin
pipeline-as-yaml-plugin
Jenkins Pipeline As Yaml Plugin
Stars: ✭ 111 (+344%)
Mutual labels:  jenkins, jenkins-plugin
Delivery Pipeline Plugin
Jenkins plugin for pipeline visualisation, perfect for Continuous Delivery
Stars: ✭ 122 (+388%)
Mutual labels:  jenkins, jenkins-plugin
aliyun-oss-uploader-plugin
Aliyun/AliCloud OSS uploader
Stars: ✭ 26 (+4%)
Mutual labels:  jenkins, jenkins-plugin
ecutest-plugin
This plugin integrates Jenkins with ECU-TEST and generates reports on automated test execution.
Stars: ✭ 23 (-8%)
Mutual labels:  jenkins, jenkins-plugin
mailer-plugin
This plugin allows you to configure email notifications for build results
Stars: ✭ 35 (+40%)
Mutual labels:  jenkins, jenkins-plugin
Performance Plugin
Performance Test Running and Reporting for Jenkins CI
Stars: ✭ 176 (+604%)
Mutual labels:  jenkins, jenkins-plugin
Stashnotifier Plugin
A Jenkins Plugin to notify Atlassian Stash|Bitbucket of build results
Stars: ✭ 157 (+528%)
Mutual labels:  jenkins, jenkins-plugin
configuration-as-code-groovy-plugin
Extension for Jenkins Configuration-as-Code plugin that allows running Groovy scripts
Stars: ✭ 39 (+56%)
Mutual labels:  jenkins, jenkins-plugin
Sonar Scanner Jenkins
SonarQube Scanner for Jenkins
Stars: ✭ 155 (+520%)
Mutual labels:  jenkins, jenkins-plugin
configuration-as-code-secret-ssm-plugin
AWS SSM Plugin for Jenkins Configuration as Code
Stars: ✭ 22 (-12%)
Mutual labels:  jenkins, jenkins-plugin
Butler
Export/Import Jenkins jobs & plugins 📤
Stars: ✭ 113 (+352%)
Mutual labels:  jenkins, jenkins-plugin
Swarm Plugin
Jenkins swarm plugin
Stars: ✭ 114 (+356%)
Mutual labels:  jenkins, jenkins-plugin
conditional-buildstep-plugin
A Jenkins plugin which allows to contol the step execution by conditions
Stars: ✭ 16 (-36%)
Mutual labels:  jenkins-plugin, adopt-this-plugin

Custom Tools Plugin for Jenkins

Jenkins Plugin GitHub release Jenkins Plugin Installs

A generic tool installer. You define how tools get installed, and the plugin will automatically install them when needed.

Overview

A job will often require a tool not already installed on your Jenkins agents. In large environments, this often results in waiting on an administrator. The goal of this plugin is to let users manage their own tools, without requiring this administrator involvement.

Using this plugin, you can define a script (or just a URL) for installing a tool using standard Jenkins Tool Installers. Plugins like Extra Tool Installers can be also used in this plugin. You then define which jobs require the tool, and the plugin installs them as needed before the build runs.

Changelog

Usage

Defining tools

Let's say that you have a build that needs NodeJS. It is possible to use a NodeJS Plugin for it, but we will use it as an example.

  1. Go to the Manage Jenkins > Global Tool Configuration page and to find the Custom Tool section there.
  2. Add a new NodeJS Tool
  3. Configure the tool installer. E.g. you can use a script as in the example below
  4. Configure Exported paths. The field lets you specify multiple directory patterns which will be added to the $PATH so that your build needn't know where the tool is actually installed

Tool Configuration

Using tools in Freestyle projects

For Freestyle projects you need to add the tool requirement to your job's Build Environment (aka "build wrappers").

Freestyle Project. Tool Build Wrapper

Then, you can just use the tool in your job, without having to know where it's installed. The plugin will install it as needed before your job runs, and make sure the $PATH is setup correctly:

Freestyle Project. Tool Installation log

Advanced use-cases

Tool versioning

Custom Tools plugin supports versioning of tools. Versions can be configured in the global configurations and then used to install specific versions of tools in Jenkins jobs.

WARNING: This feature is a subject to the breaking changes in the future. See JENKINS-32662 for more info

Configuring Tool versions

Currently the plugin uses the functionality provided by the Extended Choice Parameter plugin, but it's a subject for a change in the future. Extended Choice Parameter plugin allows to setup versions locally in the global configuration or to reference a property file with the version listing.

If a Custom Tool has versioning enabled, Custom Tools starts retrieving versions during the tool installation. Version configuration example:

Tool Version Configuration

Some tool installers support TOOL_VERSION variables (e.g. all installers from Extra Tool Installers Plugin, so you can use versions in the installer configurations.

Using Tool Versions in Installers

Tool Version parameters

Tool version parameter is available for Jenkins jobs. If it is not specified, a default version will be used.

Tool Version Parameter Definition

Defining version parameter when starting a build:

Tool Version Parameter Usage

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].