2017-03-10 6 views
3

Ich möchte eine Matrix-Build von einem Pipeline-Job starten, aber ich möchte nur eine Achse erstellen.Jenkins: MatrixCombinationsParameterValue aus einer Pipeline

ich mit dieser versucht:

build job: "Build_Android_Matrix", propagate: false, wait: true, 
    parameters: [[$class: 'StringParameterValue', name: 'branch', value: "$branch"], 
       [$class: 'BooleanParameterValue', name: 'production', value: true], 
       [$class: 'BooleanParameterValue', name: 'beta', value: false], 
       [$class: 'MatrixCombinationsParameterValue', name: 'paramFilter', description: null, combinations: ['buildType=Release']]] 

Ich habe 2 Achsen, flavor und buildType und paramFilter ist die Matrix-Kombinationen Parameter.

Der Matrix-Build beginnt mit allen Job-Parametern, aber er baut nichts auf, weil die Auswahl der Matrix-Kombinationen leer ist.

Ich habe auch mit ['buildType==Release'] und ['buildType=="Release"'] versucht, aber ich bekomme immer das gleiche Ergebnis.

Ich habe auch versucht, mit:

build job: "Build_Android_Matrix", propagate: false, wait: true, parameters: [ 
     new hudson.plugins.matrix_configuration_parameter.MatrixCombinationsParameterValue 
     ("paramFilter", 
     null, 
     ['buildType=Release']) 
     ] 

aber es funktioniert nicht, weil RejectedAccessException: Scripts not permitted to use new.

Ich bin mir fast sicher, dass ich die Kombinationen nicht auf die richtige Weise anbiete, aber ich weiß nicht, was ich sonst noch versuchen kann.

aktualisieren

Nach Christopher Orr Antwort, die ich die Parameter wie folgt zu setzen versucht:

[$class: 'MatrixCombinationsParameterValue', name: 'paramFilter', description: null, combinations: ['buildType=Release,flavor=Italy']]] 

mit diesem als meine Achsen:

  • Geschmack: Deutschland Italien Mexiko Unitedstates
  • buildType: Debug-Version

Und hat nicht funktioniert, weil ich vergessen habe, dass ich auch eine Slaves-Achse habe und das muss auch angegeben werden.

So ist das, was für mich gearbeitet:

[$class: 'MatrixCombinationsParameterValue', combinations: ["buildType=Release,flavor=Italy,label=android"], description: '', name: 'paramFilter'] 

Antwort

1

Wenn Sie die Matrix-Kombinationen Plugin von der Web-Benutzeroberfläche verwenden, müssen Sie explizit alle Kombinationen angeben, die Sie ausführen möchten. Also in der Pipeline müssen Sie das gleiche tun, zum Beispiel:

combinations: ['buildType=Release,flavor=beta', 
       'buildType=Release,flavor=production']