Автоматическое определение открытого порта на агенте Jenkins для использования с Docker - PullRequest
0 голосов
/ 26 марта 2019

Какова наилучшая практика для определения открытого порта для выполнения теста Docker на Jenkins?

Я создаю веб-приложение (в виде образа Docker), которое я хотел бы протестировать с помощью Jenkins перед публикациейв реестр.Файл Jenkins выглядит следующим образом:

pipeline {
    agent none
    stages {
        stage ("Docker Build & Test"){
            agent {
                label "docker"
            }
            steps {
                script {
                    def img = docker.build("my-application")
                    img.withRun("-p 80:5000") {
                        // do stuff
                    }
                }
            }
            post {
                cleanup {
                    cleanWs()
                }
            }
        }
    }
}

Однако проблема с вышеуказанной настройкой заключается в том, что порт 5000 может быть занят параллельным заданием, что приводит к ошибке выделения. Есть ли способ динамически найти открытый порт для использования?

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