脚本化管道(例如,node {}块为顶级)使用docker容器(例如,来自dockerhub映像或dockerfile)的语法是什么?
我知道如何使用声明性管道来执行此操作,只需指定一个代理块并将docker放入其中即可。我想知道如何使用脚本化管道语法来做到这一点。
答案 0 :(得分:0)
您可以这样做:
node('docker-host') {
checkout scm
docker.withRegistry('registry-url', 'credentials-id') {
def dockerfile = "path/to/Dockerfile"
def buildImage = docker.build("my-image-${env.GIT_COMMIT}", "-f $dockerfile .")
buildImage.inside('-v /tmp:/tmp') {
echo "inside docker"
}
}
}