Skip to end of metadata
Go to start of metadata

Summary

Matrix project axis creation and exclusion plugin using yaml file (It's similar to .travis.yml)

Plugin Information

View Yaml Axis on the plugin site for more information.

Table of content

Usage

1. Add yaml file to repository

example

# axis.yml
RUBY_VERSION:
  - 2.1.8
  - 2.2.4
  - 2.3.0

exclude:
  - RUBY_VERSION: 2.1.8
  - RUBY_VERSION: 2.3.0
    DATABASE: oracle

2. Create Multi-configuration project

3. Configuration Matrix

Choose Yaml Axis

Input configurations

  • Axis yaml file : Yaml file path (relative path from workspace or absolute path)
  • Axis name : Top key in yaml file

You can combine Yaml Axis and other axes

4. Configuration Execution Strategy

Choose "Yaml matrix execution strategy" at Execution Strategy

If you don't want to exclusion, choose *Classic*

Input settings
Example 1 (Use yaml file)

Example 2 (Use yaml text)

4. Build job

Generate yaml based matrix and run job

  • blue is executed job
  • gray is excluded(skipped) job

Changelog

Details https://github.com/jenkinsci/yaml-axis-plugin/blob/master/CHANGELOG.md

Version 0.2.0

Version 0.1.2

Version 0.1.1

  • Suppress error
  • a few refactoring

Version 0.1.0

  • First release

1 Comment

  1. I've gotten this plug-in to work by dynamically loading from YML file, however, on Windows it does have a quirk with the path input not transforming properly. It seems you must still constrain to Linux style paths with \'s even on Windows, for example in order to specify an absolute path you must specify c:/foo/foo.yml  as opposed to c:\foo\foo.yml ... It seems otherwise it is just merely appending to the workspace path and results in an error such as trying to open file :  C:\Jenkins\jobs\NightlySynergyBuilds-DynamicAxis\workspace\"c:\Jenkins\BranchNamesSynergyAxis.yml" (yes, the plug-in appears to be addign those quotes into the path as well).

    Works great otherwise! Also, personally the classic execution style is working for this for me and I also don't really need it in an YML file and that is actually one step more. I just need one line per file being an axis value. The real issue here is I'm trying to use dynamic parameters and dynamic axis' and there are varying plug-ins all implemented differently. I imagine if I needed the actual execution strategy to not be classic it might be useful to have YML along with the exclusions list, but I'm already generating this file dynamically on a schedule according to what I'll need in it.