2016-03-29 4 views
2

Ich habe zwei Jobs in Jenkins in zwei Pipeline. Diese beiden Projekte verwenden Build-Parameter aus einem früheren Build. Diese Build-Parameter werden wie folgt erstellt:Sind 2 Jobs in der Pipeline von Jenkins thread sicher?

def buildVariables = lastSuccBuild.getBuildVariables() 
nextPluginVersion = buildVariables.get("PluginNextVersion") 

    List<StringParameterValue> parameterValuesAl = new ArrayList<StringParameterValue>(); 
    parameterValuesAl.add(new StringParameterValue("PluginNextVersion", nextPluginVersion.toString())) 
    parameterValuesAl.add(new StringParameterValue("PluginMajorVersion", majorVersion.toString())) 
    parameterValuesAl.add(new StringParameterValue("PluginBuildVersion", buildVersion.toString())) 


    def versions = new ParametersAction(parameterValuesAl) 

    // add variable to current job 
    Thread.currentThread().executable.addAction(versions) 

    } catch (Throwable t) { 
     println(t) 
     t.printStackTrace() 
     throw t; 
    } 

Beide Aufträge verwenden dasselbe Skript mit denselben Variablen.

Kann dies ein Problem verursachen, wenn zwei Builds gleichzeitig ausgeführt werden?

Antwort

0

Nein, dies wird kein Problem verursachen.

Da zwei Pipelines unterschiedlich sind, sind alle Ressourcen, die von einer Pipeline gemeinsam genutzt werden, unterschiedlich. Wenn also das gleiche Skript von zwei Builds in zwei Pipelines verwendet wird, haben Variablen einen anderen Kontext.

Verwandte Themen