Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Jenkins中运行两台docker机器来模拟ssh服务器和ssh客户端?_Python_Docker_Jenkins_Ssh_Jenkins Pipeline - Fatal编程技术网

Python 如何在Jenkins中运行两台docker机器来模拟ssh服务器和ssh客户端?

Python 如何在Jenkins中运行两台docker机器来模拟ssh服务器和ssh客户端?,python,docker,jenkins,ssh,jenkins-pipeline,Python,Docker,Jenkins,Ssh,Jenkins Pipeline,我正在测试一个管道,在这个管道中,一个ssh客户机与许多服务器对话,以从它们收集数据。目前,我通过旋转docker机器来模拟ssh服务器来测试我的软件。现在我想在Jenkins中实现测试自动化如何在Jenkins中启动docker ssh服务器,这些服务器不充当代理,而是等待代理通过ssh请求与它们联系?下面是当前的Jenkins管道。dockerfile创建运行python脚本的机器,但我需要创建一个docker ssh服务器,以便与之通信 pipeline { agent { doc

我正在测试一个管道,在这个管道中,一个ssh客户机与许多服务器对话,以从它们收集数据。目前,我通过旋转docker机器来模拟ssh服务器来测试我的软件。现在我想在Jenkins中实现测试自动化如何在Jenkins中启动docker ssh服务器,这些服务器不充当代理,而是等待代理通过ssh请求与它们联系?下面是当前的Jenkins管道。dockerfile创建运行python脚本的机器,但我需要创建一个docker ssh服务器,以便与之通信

pipeline {
    agent { dockerfile true }
    stages {
        stage('Checkout') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'somecredentials', url: 'a git repo']]])
            }
        }
        stage('Run Tests') {
            steps {
                sh "python ./rsyncUnitTests.py"
            }
        }
    }
    post {
        failure {
            sendEmail('foo@bar.org')
        }
        changed {
            sendEmail('foo@bar.org')
        }
    }
}

为此,需要使用Jenkins的脚本管道和Docker管道插件。您可以在代理之外创建docker机器。您通常不在容器中运行SSH会话,但您到底在哪里这样做?安装openssh服务器并运行itI。事实上,我已经解决了这个问题。棘手的一点是通过docker网络相互交谈。看见