1

我们正在尝试为我们的客户之一创建CI/CD。我们需要为svn内的所有项目创建一个CI/CD管道。根据文件夹更改的数量触发多个jenkins作业

Poll Svn工作将在SVN上进行轮询,每修改一个小时更改一次。由于我们有一个健壮的文件夹结构,使用python脚本或groovy脚本,我们能够获得自上次轮询以来发生更改的项目数量。

您能否让我们知道是否可以针对每个更改的项目动态地激发管道中的其余作业。

eg: trunk --->CICD --> PROJECT1 
        --> PROJECT2 
        --> PROJECT3 
        --> PROJECT4 

如果在项目2和project4变化,流水线作业的其余部分应被触发项目2和project4。任何建议都赞赏

回答

1

我们简单地通过使用参数化构建触发器并使用参数工厂“调用每个属性文件的一个构建”选项来实现这一点。

4

我认为你需要,可以用普通的旧时髦很容易实现(如果我得到你的权利)的内容:

// I'm assuming here you somehow obtained a list of your projects... 
def projects = ['project2', 'project4'] 

for (i = 0; i < projects.size(); i++) { 
    build job: 'some-job-with-params', parameters: [string(name: 'myProject', value: 'project')] 
} 

在这个例子中,我通过“项目”名称的工作它接受这个参数并对它做些什么,但它可以是任何你能想到的。

注意我在这里使用传统for循环,查看these指南以了解原因。

我希望这会帮助你。

+0

它是否仍能确保上游和下游的管道将保持完好? –

+0

不知道你是什么意思。你能详细说明吗? – eyalstoler

相关问题