gpt4 book ai didi

docker - Jenkins 声明式管道与来自 SCM 的 Docker/Dockerfile 代理

转载 作者:行者123 更新时间:2023-12-02 17:58:58 24 4
gpt4 key购买 nike

与 Jenkins 一起使用 Declarative Pipeline SyntaxDockerfile.ci 起,我如何从 SCM (Git) 获取 Dockerfile(在本例中为 agent)在所有阶段之前执行块?

pipeline {
agent {
dockerfile {
filename 'Dockerfile.ci'
}
}
stage ('Checkout') {
steps {
git(
url: 'https://www.github.com/...',
credentialsId: 'CREDENTIALS',
branch: "develop"
)
}
}
[...]
}

在我看到的所有示例中,Dockerfile 似乎已经存在于工作区中。

最佳答案

您可以尝试分别为每个阶段声明代理,对于结帐阶段,您可以为其他阶段使用一些默认代理和 docker 代理。

pipeline {
agent none
stage ('Checkout') {
agent any
steps {
git(
url: 'https://www.github.com/...',
credentialsId: 'CREDENTIALS',
branch: "develop"
)
}
}
stage ('Build') {
agent {
dockerfile {
filename 'Dockerfile.ci'
}
steps {
[...]
}
}
}
[...]
}

关于docker - Jenkins 声明式管道与来自 SCM 的 Docker/Dockerfile 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50224094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com