如何远程启动jenkins构建并以事务方式返回结果?

如何远程启动jenkins构建并以事务方式返回结果?,jenkins,jenkins-plugins,Jenkins,Jenkins Plugins,我请求a创建一个java客户机,并为特定作业启动jenkins构建;然后得到构建的结果。 问题是,系统被多个用户使用,他们的构建可能会完全混乱。另外,“获取最新版本”将检索以前完成的版本,而不是当前版本。是否有任何方法可以以事务方式进行构建/获取结果?我认为没有一种方法可以像Postgres那样获得真正的事务性功能,比如说,Postgres是事务性的,但是,我认为您可以通过执行以下操作来防止多个用户之间的冲突: 让您的构建围绕一个脚本bash、Python或类似脚本进行包装,该脚本在构建之前对一

我请求a创建一个java客户机,并为特定作业启动jenkins构建;然后得到构建的结果。
问题是,系统被多个用户使用,他们的构建可能会完全混乱。另外,“获取最新版本”将检索以前完成的版本,而不是当前版本。是否有任何方法可以以事务方式进行构建/获取结果?

我认为没有一种方法可以像Postgres那样获得真正的事务性功能,比如说,Postgres是事务性的,但是,我认为您可以通过执行以下操作来防止多个用户之间的冲突:

让您的构建围绕一个脚本bash、Python或类似脚本进行包装,该脚本在构建之前对一个sem文件进行独占锁定,并在构建完成后释放它。也就是说,一个用作信号量的文件,为了能够继续,构建过程必须能够以独占方式锁定该信号量

这样,如果您有一个正在进行的生成,而另一个用户触发了一个生成,则正在进行的生成将锁定该文件,而第二个生成将阻止等待该文件上的独占锁定,仅在第一个生成完成并释放该文件上的锁定后才能获得该锁定

另外,为了能够在事后参考每个远程构建,我建议您参考我以前的文章