Декларативный Jenkins с WithCredentials и Powershell - PullRequest
0 голосов
/ 18 мая 2018
stage('Deployment') {
steps {
    withCredentials([string(credentialsId: 'Test', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
        powershell '$pass = ConvertTo-SecureString -AsPlainText "${PASSWORD}" -Force'
        powershell '$SecureString = "${pass}"'
        powershell '$MySecureCreds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "${USERNAME}","${SecureString}"'
        powershell 'New-PSSession -ComputerName 192.123.123.123 -Credential "${MySecureCreds}"'
     }
     powershell 'Copy-Item "${ARTIFACT_PATH}" -Destination "${DESTINATION_PATH}" -ToSession -Recurse -Force'
     powershell 'Start-Process "iisreset.exe" -NoNewWindow -Wait'
     powershell 'Remove-Website -Name WebCareRecord'
     powershell 'Remove-WebAppPool WebCareRecord'
     powershell 'Get-WebBinding -Port 85 -Name WebCareRecord | Remove-WebBinding'
     powershell 'Start-Process "iisreset.exe" -NoNewWindow -Wait'
     powershell 'New-WebAppPool -Name WebCareRecord'
     powershell 'Set-ItemProperty "${POOL_PATH}" managedPipelineMode 0'
     powershell 'Set-ItemProperty "${POOL_PATH}" managedRuntimeVersion ""'
     powershell 'New-WebSite -Name WebCareRecord -Port 85 -PhysicalPath "${PHYSICAL_PATH}" -ApplicationPool WebCareRecord'
     powershell 'Start-Process "iisreset.exe" -NoNewWindow -Wait'
 }
}

Я пытаюсь получить идентификатор учетных данных Jenkins, защитить его и использовать те же учетные данные для входа на удаленный сервер.После входа на удаленный сервер скопируйте артефакт с сервера jenkins на удаленный сервер.Для этого я получаю сообщение об ошибке

org.jenkinsci.plugins.credentialsbinding.impl.CredentialNotFoundException: «Проверка» учетных данных имеет тип «Имя пользователя с паролем», где ожидалось org.jenkinsci.plugins.plaincredentials.StringCredentials..

...