Python 如何在Jenkins中运行两台docker机器来模拟ssh服务器和ssh客户端?
我正在测试一个管道,在这个管道中,一个ssh客户机与许多服务器对话,以从它们收集数据。目前,我通过旋转docker机器来模拟ssh服务器来测试我的软件。现在我想在Jenkins中实现测试自动化如何在Jenkins中启动docker ssh服务器,这些服务器不充当代理,而是等待代理通过ssh请求与它们联系?下面是当前的Jenkins管道。dockerfile创建运行python脚本的机器,但我需要创建一个docker 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
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网络相互交谈。看见