首页 > 解决方案 > 带有 repo 的 Jenkins 声明式管道

问题描述

我正在使用带有声明性管道的 Jenkins,我需要创建一个由对repo存储库和清单中所有依赖项目的任何修改触发的作业。

实际上我必须执行以下获取并触发我所有的依赖项:

pipeline {
  agent any
  stages {
    stage('fetch') {
      steps {
        sh 'repo init -u ${MY_REPO_URL}'
        sh 'repo sync'
      }
    }
  }
}

在带有repo plugin的 Freestyle 项目中,我只需要添加:

在此处输入图像描述

但是管道作业中没有“源代码管理”

我能做些什么 ?

谢谢

标签: gitjenkinsjenkins-pipelinerepo

解决方案


好的,我不明白的是 pollSCM 自动检测回购项目。因此,使用预定触发器,检查所有存储库。

此外,使用管道语法生成器,我发现了这种用于初始化和同步我的存储库的漂亮方法:

    checkout changelog: true, poll: false, scm: [$class: 'RepoScm', currentBranch: true, \
        forceSync: true, jobs: 4, manifestBranch: manifestRev, \
        manifestRepositoryUrl: manifestRepo, \
        quiet: false, resetFirst: fullClean, resetFirst: fullReset]

推荐阅读