Jenkins Pipeline — включение развертывания Cloudfoundry

Установил Blue Ocean из образа докера docker pull jenkinsci/blueocean. Я хотел включить этап развертывания Cloud Foundry (sh cf push) в свой пайплайн и застрял с ошибкой:

script.sh: line 1: cf: not found

Я знал, что происходит - поскольку нет совместимого подключаемого модуля CF CLI, скриптовая команда CF не работает. И я пробовал разные вещи:

В моем Jenkinsfile я пытался использовать подключаемый модуль Cloud Foundry (CloudFoundryPushPublisher), который поддерживается в неконвейерной сборке. И это не помогло.

step([$class: 'com.hpe.cloudfoundryjenkins.CloudFoundryPushPublisher',
        target: 'https://api.ng.bluemix.net',
        organization: 'xxxx',
        cloudSpace: 'xxxxx',
        credentialsId: 'xxxxxx',
        selfSigned: true,
        resetIfExists: true]); 

Это не удалось с Invalid Argument exception.

Мой вопрос: я слышал, что у Cloudbees есть коммерческая версия, которая поддерживает CF CLI, но эта возможность отсутствует в Blue Ocean. Итак, как я могу отправить развертывание в облачное хранилище с помощью задания Pipeline?


person SekharKari    schedule 08.02.2017    source источник


Ответы (1)


Я не уверен, что вы уже исправили проблему, но я только что вручную установил «cf cli» на машину jenkins и использовал «cf push» в качестве сценария оболочки, например;

sh 'cf login -u xxx - p xxx -s space -o org'
sh 'cf push appname ...'
person kevmando    schedule 19.03.2017
comment
Когда я устанавливаю BlueOcean и CF-CLI на своем Mac, проблем не возникает. Команды CF из JenkinsFile выполняются без проблем. Однако, если вы хотите запустить BlueOcean в экземпляре докера, где плагин CF недоступен в том же контейнере, выполнение завершается ошибкой. На данный момент я отказался от образа докера для голубого океана. - person SekharKari; 16.04.2017