【问题标题】:Create a Build Pipeline View based on Pipeline job using Job DSL plugin in Jenkins在 Jenkins 中使用 Job DSL 插件创建基于管道作业的构建管道视图
【发布时间】:2018-06-20 18:48:36
【问题描述】:

由于 Jenkins Pipeline 存在一个限制,即您无法在不挂起构建的情况下添加手动构建步骤(例如,请参见 thisstackoverflow 问题)我正在尝试使用 @987654323 组合 Jenkins Pipeline 和 Build Pipeline Plugin @。

我的计划是创建一个作业 DSL 脚本,它首先执行 Jenkins 管道(在 Jenkinsfile 中定义),然后创建一个部署到生产环境的下游作业(这是手动步骤)。我创建了这个 Job DSL 脚本作为测试:

pipelineJob("${REPO_NAME} jobs") {
  logRotator(-1, 10)    
  def repo = "https://path-to-repo/${REPO_NAME}.git"

  triggers {
    scm('* * * * *')
  }
  description("Pipeline for $repo")

  definition {
    cpsScm {
      scm {
        git {
          remote { url(repo) }
          branches('master')
          scriptPath('Jenkinsfile')
          extensions { }  // required as otherwise it may try to tag the repo, which you may not want
        }
      }
    }
  }

  publishers {
     buildPipelineTrigger("${REPO_NAME} deploy to prod") {
        parameters {
            currentBuild()
        }
     }
 }
}

freeStyleJob("${REPO_NAME} deploy to prod") {   
}

buildPipelineView("$REPO_NAME Build Pipeline") {
   selectedJob("${REPO_NAME} jobs")
}

其中REPO_NAME 被定义为环境变量。 Jenkinsfile 看起来像这样:

node {
    stage('build'){
        echo "building"
    }

    stage('run tests'){
        echo "running tests"
    }
    stage('package Docker'){
        echo "packaging"
    }
    stage('Deploy to Test'){
        echo "Deploying to Test"
    }
}

问题在于selectedJob 指向"${REPO_NAME} jobs",这在构建管道插件视图中似乎不是作为“初始作业”的有效选项(您也不能手动选择它)。

有解决办法吗? IE。如何使用 Jenkins 流水线作为构建流水线插件的“初始作业”?

【问题讨论】:

    标签: jenkins jenkins-job-dsl build-pipeline-plugin build-pipeline


    【解决方案1】:

    来自yourDomain.com/plugin/job-dsl/api-viewer/index.html#method/javaposse.jobdsl.dsl.views.NestedViewsContext.envDashboardView上的文档

    这表明 buildPipelineView 只能在文件夹块内的视图块内使用。

    Folder {
      View {
        buildPipelineView {
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-01-07
      • 2017-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多