Как предоставить keychainPwd в формате hudson.util.Secret в плагине интеграции Xcode при работе с Blue Ocean?

Мы создали 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.


person Mitesh Soni    schedule 26.06.2019    source источник
comment
В настоящее время я работаю над той же проблемой. Кажется, плагин xcodebuild недавно обновился, чтобы потребовать его. Обновлю с моей стороны, если разберусь. Обновление: мне удалось получить это здание со следующими ответами: stackoverflow.com/questions/50299927/ stackoverflow.com/questions/38276341/ Изменение из первой ссылки — это то, что вы ищете, но вам может потребоваться одобрить свой сценарий с помощью информации во второй ссылке.   -  person Richi Rivera    schedule 26.06.2019


Ответы (1)


В настоящее время я работаю над той же проблемой. Кажется, плагин xcodebuild недавно обновился, чтобы потребовать его.

Мне удалось получить это здание со следующими ответами: Как сравнить введенный пользователем пароль с парольной фразой для учетных данных

Сценарии Jenkins CI Pipeline не разрешено использовать метод groovy.lang.GroovyObject

Изменение по первой ссылке — это то, что вам нужно, но вам может потребоваться одобрить свой сценарий с помощью информации во второй ссылке.

person Richi Rivera    schedule 27.06.2019