2017-09-28 31 views
2

Ich möchte auf normale Variable in meinen Schritten in Power Shell-Ausführung definiert zugreifen. Wir können mit $ env auf Umgebungsvariablen zugreifen, aber wie kann man auf normale Schrittvariablen zugreifen?Jenkins Pipeline Access Schritt Schritte Variable in Power Shell-Ausführung

stages { 
     stage ('sometask') { 
       steps{ 
        script { 
         def someString = 'Hi' 
         withCredentials(...) { 
         def out = powershell(returnStdout: true, script: 
           ''' 
           // Access someString 
         ''') 
         println out 
         } 
       } 
     } 
} 

Antwort

0

Es ist nicht wahrscheinlich der eleganteste Weg, es zu tun, aber ich habe es so gemacht: (Ich werde dein gleiches Beispiel verwenden)

stages { 
     stage ('sometask') { 
       steps{ 
        script { 
         def someString = 'Hi' 
         withCredentials(...) { 
         def out = powershell(returnStdout: true, script: 
           ''' 
         PowerShellCommands.... 
         Write-Host ''' + someString + ''' 
         someMorePowerShellCommands 
         ''') 
         println out 
         } 
       } 

Also im Grunde, was ich bin dabei wird der Wert von

verketten

somestring

In der Mitte des Skripts, müssen Sie die gleiche Logik folgen, wenn Sie sich zum Beispiel müssen mehr Variablen übergeben:

''' some script code ''' + variableName + 
''' some more script code''' + anotherVariableName + 
''' evenMoreScriptCode ''' 

In meinem Fall habe ich Konfigurationsparameter verwende und anstelle des

Variablen

ich bin mit

config.webURL

zum Beispiel.

Hoffe, das hilft.

EN

0

Nach funktionieren sollte :)

Stadien {

stage ('sometask') { 
      steps{ 
       script { 
        def someString = 'Hi' 
        withCredentials(...) { 
        def out = powershell(returnStdout: true, script: 
          """ 
          // Accessing someString 
          Write-Host $someString 
        """) 
        println out 
        } 
      } 
    } 

}

Verwandte Themen