У меня есть развертывание от Jenkins, которому нужно перезапустить IIS.У меня есть следующие работы в проекте Freestyle в Дженкинс, но я не могу заставить его работать в декларативном конвейере.Сценарий использует PowerShell для запуска / остановки / перезапуска IIS.Я получаю сообщение об ошибке:
groovy.lang.MissingPropertyException: No such property: SecurePassword for class: WorkflowScript
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53)
Вот мой сценарий.Я подозреваю, что это связано с интерполяцией строк, но мне не очень повезло, что я смог это выяснить.
Любая помощь приветствуется.
pipeline {
agent none
options { skipDefaultCheckout() }
parameters {
string(name: 'IIS_SERVER', defaultValue: 'xxxxxxxx', description: 'Server to Restart IIS')
string(name: 'USER_NAME', defaultValue: 'xxxxxxxx', description: 'Username')
string(name: 'PASSWORD', defaultValue: 'xxxxxxxx', description: 'Password')
choice(name: 'IIS_ACTION', choices: ['Start', 'Stop', 'Restart'], description: 'IIS Server Action',)
}
stages {
stage ('Restart IIS') {
agent { node { label "win2"} }
steps {
script {
powershell(returnStdout: false, script: """
$SecurePassword = ${PASSWORD} | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList ${USER_NAME}, $SecurePassword
invoke-command -computername ${IIS_SERVER} -Credential $cred {cd C:\\Windows\\System32\\; ./cmd.exe /c "iisreset /noforce /${IIS_ACTION}" }
"""
)
}
}
}
stage ('Validate Restart') {
agent { node { label "win2"} }
steps {
script {
def httpStatus = bat(script: "c:\\curl\\bin\\curl.exe -s -o /dev/null -w \"%%{http_code}\" http://xxxxxxxx", returnStdout: true)
echo "HTTP Status Code: ${httpStatus}"
}
}
}
}
}