Мы создали Jenkins Pipeline как код с помощью Blue Ocean, и до недавнего времени он работал нормально. Теперь, когда мы пытаемся передать параметры для keychainPwd для плагина интеграции Xcode в Blue Ocean, он выдает нам ошибки, и наш Blue Ocean Pipeline для iOS не работает.
Мы пытались использовать секретный ключ учетных данных и пытались передать его в качестве параметра, но это не работает.
environment {
Keychain_pwd_id = credentials('test')
}
Здесь был создан тестовый секретный ключ. Мы также пробовали следующее:
keychainPwd: hudson.util.Secret.fromString("${Keychain_pwd_id}")
pipeline {
environment {
Keychain_pwd_id = credentials('test')
}
stages {
stage('Xcode Build') {
steps {
xcodeBuild(buildIpa: true, bundleID: 'com.xxx.xxxxxxxxxx', cleanBeforeBuild: true, configuration: 'Release', developmentTeamID: 'xxxxxxxx', developmentTeamName: 'xxxxxxxxxxxxxxxxxxxxx', ipaExportMethod: ‘enterprise’, ipaName: ‘xxxxxxxxxxx’, ipaOutputDirectory: 'build', keychainName: 'login', keychainPath: '${HOME}/Library/Keychains/login.keychain', keychainPwd: "${Keychain_pwd_id}, manualSigning: true, provisioningProfiles: [[provisioningProfileAppId: 'xxxxxxxxxxxxxxxxxxx', provisioningProfileUUID: 'xxxxxxxxxxxxxxxxxxxxxxxxxx']], unlockKeychain: true, xcodeSchema: ‘xxxxxxxxxxxxxxxx
}
}
}
}
Ожидается «class hudson.util.Secret» для параметра «keychainPwd», но получен «${keychainPwd}» класса типа java.lang.String вместо строки 12, столбца 407.