在何处存储下游管道的Jenkins文件(无自身回购协议)
我正在为我们的构建建立Jenkins管道作业。我们以前使用自由式作业来构建每个回购协议,在打包和部署阶段使用各种额外的手动触发作业 到目前为止,我们有以下管道设置:在何处存储下游管道的Jenkins文件(无自身回购协议),jenkins,build,jenkins-pipeline,artifact,jenkins-declarative-pipeline,Jenkins,Build,Jenkins Pipeline,Artifact,Jenkins Declarative Pipeline,我正在为我们的构建建立Jenkins管道作业。我们以前使用自由式作业来构建每个回购协议,在打包和部署阶段使用各种额外的手动触发作业 到目前为止,我们有以下管道设置: repo A/Jenkinsfile-管道A-构建、运行单元测试和生成 人工制品 repo B/Jenkinsfile-管道B-构建、运行单元测试和 产生伪影 无论何时管道A或B完成,我都希望运行管道C 管道C应该获取最新的A和B管道的工件,将它们打包为docker映像,运行集成测试,部署到临时环境 管道C的Jenkins文
- repo A/Jenkinsfile-管道A-构建、运行单元测试和生成 人工制品
- repo B/Jenkinsfile-管道B-构建、运行单元测试和 产生伪影
- 管道C应该获取最新的A和B管道的工件,将它们打包为docker映像,运行集成测试,部署到临时环境
- 管道A(完整管道)
- 建造
- 单元测试
- 人工制品
- (获取最新的B工件)
- 集成测试
- 部署到暂存
- 管道B(然后使用完整管道的简单构建)
- 建造
- 单元测试
- 人工制品
- 触发器管道A,跳过集成测试步骤之前的所有内容(可能在查看构建触发器的那些阶段上使用
块时使用
)
但是没有关于在Jenkins Pipeline中构建上述依赖项和管道的信息。当您在Jenkins中定义“新项”并选择“管道”项目类型时,当管道默认为“管道脚本”时,您会得到一个表单。
如果您有一个Jenkins文件,那么您可以切换到使用“Pipeline script from SCM”,并将其设置为指向Jenkins文件的GIT位置,但如果将其保留为默认的“Pipeline script”,则可以将管道的内容放在表单中,并将其保存在作业的config.xml文件中,无需将其存储在源代码管理中。管道C可以位于任何一个存储库中,您只需在作业C的配置中指向此Jenkins文件。@DibakarAditya这就是我要尝试的。我不是100%相信这是它的逻辑位置,但是这似乎比创建一个新的repo/项目来存储单个管道C文件要好。也许一旦我有了一套完整的集成测试,我会把它们和管道C文件放在一个repo中。你是对的,这会解决问题,但你的回答让我意识到我没有声明我希望所有管道文件都在源代码控制下。我现在已经编辑了我的答案,明确指出这一点。