首页 > 解决方案 > 用于构建其他工作的 Jenkins 管道

问题描述

我有四个在 Jenkins 中构建的 iOS 框架。这些作业是 sdk_ios_f1、sdk_ios_f2、sdk_ios_f3 和 sdk_ios_f4。有一个使用这些框架的 xcode 项目。它是 sdk_ios_p。

我想创建一个 Jenkins 管道,它将按顺序构建这些作业:

pipeline {
agent any
stages {
    stage('Desc1') {
        steps {
            dir('/Users/Shared/Jenkins/Home/workspace/') {
                build job: 'sdk_iOS_f1', quietPeriod: 5
                build job: 'sdk_iOS_f2', quietPeriod: 5
            }
        }
    }
    stage('Desc2') {
        steps {
            dir('/Users/Shared/Jenkins/Home/workspace/') {
                build job: 'sdk_iOS_d3', quietPeriod: 5
                build job: 'sdk_iOS_f4', quietPeriod: 5
            }
        }
    }
}
}

这两个阶段显示在 Jenkins 页面上,并且管道启动,但它永远不会超过调度第一个构建 (sdk_ios_f1)。

请问,为了按照列出的顺序运行作业,我需要做什么?

Started by user Smith Smith
[Pipeline] node
Running on Jenkins in
/Users/Shared/Jenkins/Home/workspace/pipeline_all_develops
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Desc1)
[Pipeline] dir
Running in /Users/Shared/Jenkins/Home/workspace
[Pipeline] {
[Pipeline] build (Building sdk_iOS_f1)
Scheduling project: sdk_iOS_f1

(永远不会过去)

标签: jenkins-pipeline

解决方案


固定的!哈哈。只有一个执行程序,因此管道阻塞了所有其他执行程序。我添加了一个执行者,一切都很好。


推荐阅读