Jenkins CI (Hudson) - 如何以交互方式启动下游作业?

发布于 2024-11-01 18:06:46 字数 443 浏览 0 评论 0原文

嘿,

我正在尝试在 Jenkins 中正确配置一个项目。

我想利用作业的并行化来使用不同的机器来进行一些计算。

我的脚本分为三个部分: A - 带有参数的一个脚本。这个参数是一个大文件。该脚本将计算我需要启动多少个小计算作业。 B - 数量可变的小型并行作业。这与我在不同的小文件上启动的作业相同。 C - 最终工作,必须等待所有小工作(第 2 部分)完成。

问题是我想监控进度。

我的想法是在第三部分中使用连接插件。但我在为第 2 部分启动可变数量的下游作业时遇到一些问题......(以便我可以使用管道下游插件监控它们)

你知道我该怎么做吗?

为了在第 2 部分中启动不同数量的相同作业,我正在考虑在脚本 A 中调用 jenkins api。 当您调用 api 时,是否有任何方法可以通知父项目,以便在父项目中您将看到通过 api 调用的所有下游作业?

Hya,

i'm trying to configure correctly a project in Jenkins.

I want to use the parallelization of jobs to use different machine to compute some calculations.

My script has three parts :
A - one script with a parameter. this parameter is a big file. the script is gonna calculate how many little calculations jobs I need to launch.
B - a variable number of little and parallels jobs. This is the same jobs I launch on different little files.
C - a final job which has to wait all the little jobs (part 2) have finished.

The problem is I want to monitor the progress.

My idea was to use the join plugin for the third part. But I have some problems to launch a variable number of downstreams jobs for part 2....(so that i can monitor them with pipeline downstream plugin)

have you any idea how I could do this?

for launching a variable number of the same job in the part 2, I was thinking of calling the jenkins api in my script A.
Is there any way to notify a parent project when you call the api so that in the parent you'll see all the downstreams jobs called via the api?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦冥 2024-11-08 18:06:46

我很抱歉这不是对您问题的直接答案,但我不确定 Jenkins 是否已做好管理您所描述的作业的变量分配的准备。但是,还有其他可能有用的工具。

我可以看到,如果 B 中的每个作业都需要标准的签出、构建、归档步骤,那么 Jenkins 会有多大用处。但如果 B 中的工作更加独立,那么我会使用更简单的工具。使用像parallel这样的工具,你的所有步骤都将成为一项工作,可以通过parallel的控制台输出进行监控。

I apologize that this is not a direct answer to your question, but I'm not sure Jenkins is well set up for managing the variable distribution of jobs that you describe. However, there are other tools that might be useful.

  • I've used parallel both to do simple batch operations and to automate an analysis operation across a lot of files on several machines.
  • There are lots of links to tools in this ServerFault question about how to distribute the same command to many machine.

I can see how Jenkins would be useful if each of the jobs in B required the standard checkout, build, archive steps. But if the jobs in B are more independent, then I'd use a simpler tool. Using a tool like parallel, all your steps would become one job that can be monitored via the console output of parallel.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文