在Jenkins脚本化管道中运行docker工具

时间:2019-11-26 09:52:08

标签: docker jenkins jenkins-pipeline


我创建了一个作为docker映像分发的命令行应用程序(即:Dockerfile将ENTRYPOINT指定给该应用程序)。
手动运行它看起来像这样:

docker run --rm -ti cli-app-image --appArgument

我希望从Jenkins运行它作为管道的一部分,并捕获STDOUT输出。
谷歌搜索找不到一个例子。 我尝试通过以下方式进行操作:

docker.image('cli-app-image').withRun {}

以这种方式:

docker.image('cli-app-image').inside {}

但是这些似乎不适合用例。

很乐意得到另一个建议。

1 个答案:

答案 0 :(得分:0)

可以将在Docker命令中执行的特定容器的标志和参数作为参数传递给属于Docker全局变量的.withRun方法。例如,您的具体用法是:

docker.image('cli-app-image').withRun('--appArgument') {}

请注意,withRun方法已经从本质上覆盖了--rm的{​​{1}}参数。您可以在documentation中找到更多信息。

我不确定您在docker run方法中产生的空白是否代表您要实现的目标,或者您只是保持问题的清洁度。如果需要容器对象,则可以使用lambda临时变量,如下所示:

withRun