Jenkins 中的 "container" 关键字是什么?
What is the "container" keyword in Jenkins?
我最近继承了一个包含一些 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
没有按照我的想法去做,我找不到任何关于它的文档。有谁知道这应该做什么?
提前致谢。
如果 container(...) 方法没有记录在案,它很可能被自定义加载 library.
检查管道中的@Library 注释,或者它是否不是自动加载库的一部分。然后您会在声明它的地方找到 groovy 文件。
更多信息请见https://jenkins.io/doc/book/pipeline/shared-libraries/#using-libraries
如果你想用一个容器来运行一个步骤,你可以这样做:https://jenkins.io/doc/book/pipeline/docker/#using-multiple-containers
我以前从未见过 "container" 关键字。
好的,它显然来自 Kubernetes 插件。更多文档在此 jenkins github repo and in this jenkins documentation 中。
它也能正常工作,但 'ls' 命令是骗人的。当我 运行 一个实际的 Azure 命令时,我看到了命令结果,也看到了容器的日志。
谢谢大家
我最近继承了一个包含一些 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
没有按照我的想法去做,我找不到任何关于它的文档。有谁知道这应该做什么?
提前致谢。
如果 container(...) 方法没有记录在案,它很可能被自定义加载 library.
检查管道中的@Library 注释,或者它是否不是自动加载库的一部分。然后您会在声明它的地方找到 groovy 文件。
更多信息请见https://jenkins.io/doc/book/pipeline/shared-libraries/#using-libraries
如果你想用一个容器来运行一个步骤,你可以这样做:https://jenkins.io/doc/book/pipeline/docker/#using-multiple-containers
我以前从未见过 "container" 关键字。
好的,它显然来自 Kubernetes 插件。更多文档在此 jenkins github repo and in this jenkins documentation 中。
它也能正常工作,但 'ls' 命令是骗人的。当我 运行 一个实际的 Azure 命令时,我看到了命令结果,也看到了容器的日志。
谢谢大家