Jenkins的Lockable Resource插件 – 1:基本使用

Lockable Resource插件可以创建"可锁定"的资源。在Jenkins Job的构建过程中,可以按照"资源名称"和"资源标签"来锁定资源。如果某个标签对应多个资源,还可以指定要锁定的资源个数(默认个数是全部)。如果一个构建需要的资源已经被锁定,它将在队列中等待该资源可用。

  • 要了解插件的安装、配置以及在流水线中使用该插件的详细信息,请参阅官方文档:https://plugins.jenkins.io/lockable-resources
  • 本文主要讨论如何在FreeStyle Job中使用Lockable Resource插件。

在Freestyle Job中使用Lockable Resource插件

  • 已安装Lockable Resource插件:
    Install Lockable Resource

  • 在Jenkins中,已创建了Lockable Resource:一个名为LOCK_RES 的Lockable Resource
    CreateLockableResource

  • 创建一个名为 DEMO_JOB 的 Freestyle 类型的 Job:该 Job 需要占用 LOCK_RES,且选中Execute concurrent builds if necessary允许Job同时执行多个构建
    CreateJob

  • 在Job的Build Steps部分,添加Execute shell,随机执行ping命令50 ~ 100次模拟耗时的操作:ping www.baidu.com -c $((RANDOM % (100 - 50 + 1) + 50))
    BuildSteps

  • 点击Build Now,执行DEMO_JOB
    在这里插入图片描述

  • 构建执行中,再次点击Build Now,会有一个新的构建在队列中等待LOCK_RES被释放。
    在这里插入图片描述

  • 有构建在队列中等待时,再次点击Build Now不会再创建新的构建!!!

    ?? 问题:队列中只能有一个相同的构建等待Lockable Resource。如何解决这个问题?下回分解。