詹金斯中"container"关键字是什么?



我最近继承了一个包含一些 Jenkins 文件的代码库。在其中一个中,我遇到了这种语法

stage('Prepare database for integration tests') {
steps {
container('postgres') {
sh "..."
}
}
}

我们的 Jenkins 在 Openshift 上运行,pod 有多个容器,包括这个 postgres 一个。但是,我找不到任何关于使用容器或连接到具有类似container('containerName')容器的参考。

我尝试使用以下部分创建一个单独的管道

container('az-cli') {
try {
sh 'ls'
} catch (error) {
throw error
}
}

ls列出了代码存储库中的内容 - 而不是容器。显然,container没有做我认为它做的事情,我找不到任何关于它的文档。有谁知道这应该做什么?

提前谢谢。

好的,它显然来自 Kubernetes 插件。更多文档在此 Jenkins github 存储库和此 jenkins 文档中。

而且它正在工作,但"ls"命令具有欺骗性。当我运行实际的 Azure 命令时,我看到命令结果还看到了容器的日志。

谢谢大家。

如果未记录 container(...( 方法,则它可能是由自定义加载的。

检查管道中的@Library注释,或者它是否不是自动加载的库的一部分。然后,您将在其中找到声明它的时髦文件。

更多信息请访问 https://jenkins.io/doc/book/pipeline/shared-libraries/#using-libraries

如果你想使用容器来运行一个步骤,你可以这样做: https://jenkins.io/doc/book/pipeline/docker/#using-multiple-containers

我以前从未见过"容器"关键字。

最新更新