python - 根据文件夹更改的数量触发多个 Jenkins 作业

标签 python jenkins parameter-passing jenkins-plugins jenkins-pipeline

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

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

能否请您告诉我们是否可以为每个已更改的项目动态触发管道中的其余作业。

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

如果项目 2 和项目 4 发生变化,则应为项目 2 和项目 4 触发其余管道作业。任何建议表示赞赏

最佳答案

我认为使用普通的旧 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')]
}

在此示例中,我将“项目”名称传递给接受此参数并对其执行某些操作的作业,但它可以是您能想到的任何内容。

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

希望这对您有所帮助。

关于python - 根据文件夹更改的数量触发多个 Jenkins 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42134044/

相关文章:

python - 在不丢失表单数据的情况下,在 Pylons 中重定向请求的首选方法是什么?

java - jenkins k8s部署中的JAVA_OPTS,似乎未考虑-Xss(堆栈大小)

mysql - 如何将我的 url 参数传递给 javascript 文件中的异步函数,与 Node.js 的路由分开?

jenkins - 查看谁在Jenkins中禁用了构建

jenkins - 在 Docker 中运行 Jenkins 时出错

vb.net - 如何启动带参数的exe

javascript - HTML onload - 使用变量作为参数

python - 求解稀疏上三角系统

python -/var/run/docker.sock : permission denied while running docker within Python CGI script

python - 如何使用 Python 读取 MP3 中的 ID3 标签?