我已经按照Jenkins documentation在容器中成功运行了Jenkins和docke:dind
。我有一个Jenkins脚本来构建Puppeteer镜像并运行容器来测试我的前端。我想添加逻辑,如果测试失败,则终止当前的Puppeteer容器并运行新的容器。
以下是我的Jenkins脚本:
pipeline {
agent {
dockerfile {
filename 'Dockerfile'
dir 'MyDockerFileFolder'
additionalBuildArgs '--build-arg UID=$(id -u) --build-arg GID=$(id -g) -t puppeteer-testing-image'
}
}
stages {
stage('Build') {
steps {
sh 'npm ci'
}
}
stage('Test') {
steps {
sh 'npm run myPuppeteerTest'
}
post {
failure {
// I would like to terminate puppeteer container here
// and run the new container here
}
}
}
}
}
如果我只是简单地在故障块中添加此命令,它将无法工作,因为该命令实际上是在Puppeteer容器中运行的,而Puppeteer容器没有Docker命令。
sh 'docker run -name newContainer container:latest'
我对Jenkins非常陌生,任何帮助都很感激!
1条答案
按热度按时间oknwwptz1#
对于您的情况,它不适合使用顶级代理,您可以尝试如下