Пост-сборка Jenkins для запуска в ранее использовавшемся рабочем пространстве агента - PullRequest
0 голосов
/ 05 марта 2020

В среде главного и подчиненного конвейера Jenkins с несколькими типами подчиненных, как принудительно запустить задачу после сборки в том же ведомом и рабочем пространстве, где был выполнен предыдущий этап.

Например, в следующем фрагменте кода конвейера используются 3 различных ведомых устройства. Этап «Dynami c Создание сервера» выполняется на агенте типа «miscslave», где мы запускаем команду «vagrant up». Следующие 2 этапа выполняются в разных ведомых устройствах: «performance_slave» и «seleniumslave». Теперь, когда тесты выполняются на динамических c серверах, нам нужно уничтожить его, запустив «vagrant destroy» в качестве задачи после этапа. Однако его нужно запускать из того же ведомого рабочего пространства «miscslave», где выполнялось «vagrant up», так как он создал там каталог «.vagrant» с информацией о машине Dynami c server, которая необходима для запуска ». уничтожить».

Как мы можем заставить конвейер выполнить эту задачу после сборки в том же рабочем пространстве, где было выполнено «Dynami c Создание сервера»?

pipeline {
        agent { label 'miscslave' }
        stages {
            stage('Stage 1') { }            
            stage("DynamicServer Creation") {               
                agent {
                    label 'miscslave'
                }
                stages {
                    stage('DynamicServer Creation') {
                        //Create Dynamic server using vagrant up, create a .vagrant dir to save the create machine info
                    }
                    stage('DynamicServer Test') {
                        parallel {
                            stage("Execute Performance Tests") {                                
                                agent {  label 'performance_slave' }
                            }
                            stage("Execute UI Tests") {                                
                                agent { label 'seleniumslave' }
                            }
                        }
                    }
                }
                post {
                    always {                        
                        //Delete the dynamic server using vagrant destroy. It has to be run in the same workspace where "vagrant up" was executed in "Dynamic Server creation stage"
                    }
                }
            }
        }
    }```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...