目前,我将 EC2 插件与 Jenkins 结合使用,因此当它需要更多代理(从属)时,它会启动它们(或在不需要时终止它们)。到目前为止,代理已配置了 2 个作业槽,这很好。但是,有一个特定的作业需要整个 EC2 实例。
那么,当此特定作业正在运行时,如何阻止其他作业在代理上运行?通常,解决方案是将作业过滤到一组特殊代理,但我想避免仅为这一项作业创建一组全新的代理。
答案1
您可以使用运行条件插件,https://wiki.jenkins-ci.org/display/JENKINS/Run+Condition+Plugin根据特定作业正在运行的事实禁用任何其他作业。您可以在此处了解如何获取当前正在运行的作业信息,https://stackoverflow.com/questions/7285891/determine-if-given-job-is-currently-running-using-hudson-jenkins-api。