Дженкинс, как создать конвейер ручной шаг

До Jenkins2 я использовал Build Pipeline Plugin для создания и ручного развертывания приложения на сервере. Старая конфигурация: Дженкинс-конвейерный-плагин

Это прекрасно работает, но я хочу использовать новый конвейер Jenkins, сгенерированный из groovy script (Jenkinsfile), для создания шага вручную.

До сих пор я придумал input шаг Дженкинса.

Используемый скрипт jenkinsfile:

node {
   stage 'Checkout'
   // Get some code from repository

   stage 'Build'
   // Run the build
}

stage 'deployment'
input 'Do you approve deployment?'
node {
    //deploy things
}

Но это ожидает пользовательского ввода, отмечая, что сборка не завершена. Я мог бы добавить тайм-аут input, но это не позволит мне выбрать / запустить сборку и развернуть ее позже:

Дженкинс-газопровод

Как я могу получить такой же / подобный результат для ручного шага / триггера с новым jenkins-pipe, как ранее с Build Pipeline Plugin?

2 ответа

Это огромный пробел в возможностях Дженкинс Трубопровод ИМО. Определенно трудно обеспечить из-за того, что конвейер является единственной работой. Одним из решений может быть "заархивировать" рабочее пространство как "артефакт" (tar и archive **/* как "workspace.tar.gz"), а затем попросить другой конвейер скопировать артефакт и распаковать его в новое рабочее пространство. Это позволяет пускать второй конвейер там, где остановился предыдущий. Конечно, нет способа проверить, что второй конвейер не может быть выполнен вне очереди или более одного раза. Что очень плохо. Плагин Delivery Pipeline действительно сияет здесь. Вы выполняете новый конвейер прямо из представления - вместо первого задания. Во всяком случае - не слишком много ответа - но это путь, который я собираюсь попробовать.

РЕДАКТИРОВАТЬ: Этот плагин выглядит многообещающе:

https://github.com/jenkinsci/external-workspace-manager-plugin/blob/master/doc/PIPELINE_EXAMPLES.md

Вам нужно только включить свой вклад в разделе шагов. Шаги выполняются последовательно, поэтому вы можете открывать их один за другим. Если вы хотите повторно развернуть, pipe { agent any

      stages {
    stage('Build') {
        steps {
            echo 'Building...'
        }
    }
    stage('Dev environment') {
        steps {
            input 'Do you approve deployment?'
            echo 'Hello Dev'
        }
    }
    stage('Beta environment') {
        steps {
            input 'Do you approve deployment?'
            echo 'Hello beta'
        }
    }
    stage('Production environment') {
        steps {
            input 'Do you approve deployment?'
            echo 'Hello Prod'
        }
    }
}

}

На изображении ниже сборка завершена, развертывание разработки одобрено, а развертывание бета-версии ожидается.

Другие вопросы по тегам