自动确定Jenkins代理上的开放端口以用于Docker

时间:2019-03-26 12:00:28

标签: docker jenkins jenkins-pipeline port jenkins-docker

确定在Jenkins上进行Docker测试的开放端口的最佳实践是什么?

我正在构建要发布到注册表之前要使用Jenkins测试的Web应用程序(作为Docker映像)。 Jenkinsfile看起来像:

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可能被并发作业占用,从而导致分配失败。 是否可以动态地找到要使用的开放端口?

0 个答案:

没有答案