Jenkins 中的“容器”关键字是什么?

mel*_*lis 2 jenkins jenkins-declarative-pipeline

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

            stage('Prepare database for integration tests') {
                steps {
                    container('postgres') {
                        sh "..."
                    }
                }
            }
Run Code Online (Sandbox Code Playgroud)

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

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

                        container('az-cli') {
                            try {
                                sh 'ls'
                            } catch (error) {
                                throw error
                            }
                        }
Run Code Online (Sandbox Code Playgroud)

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

提前致谢。

mel*_*lis 8

好的,它显然来自 Kubernetes 插件。更多文档在这个jenkins github repo和这个jenkins 文档中

而且它也在工作,但'ls'命令是骗人的。当我运行一个实际的 Azure 命令时,我看到命令结果也看到了容器的日志。

谢谢大家。