根据文件夹更改次数触发多个jenkins作业

2024-10-02 02:28:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我们正在尝试为我们的一个客户创建CI/CD。我们需要为svn中的所有项目创建一个CI/CD管道。在

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

能否请您告诉我们是否可以动态地解雇每个变更项目的管道中的其余作业。在

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

如果project2和project4中有变化,那么应该为project2和project4触发其余的管道作业。如有任何建议,我们将不胜感激


Tags: 项目脚本文件夹ci客户管道作业cd
2条回答

我认为使用普通的老groovy可以很容易地实现您所需要的(如果我没弄错的话):

// 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')]
}

在本例中,我将“project”名称传递给一个接受此参数并使用它执行某些操作的作业,但它可以是您所能想到的任何内容。在

注意我在这里使用传统的for循环,查看these准则来理解原因。在

我希望这对你有帮助。在

通过使用参数化的构建触发器和使用参数工厂“为每个属性文件调用一个构建”选项,我们实现了相同的目标。在

相关问题 更多 >

    热门问题