Lockable Resource插件可以创建"可锁定"的资源。在Jenkins Job的构建过程中,可以按照"资源名称"和"资源标签"来锁定资源。如果某个标签对应多个资源,还可以指定要锁定的资源个数(默认个数是全部)。如果一个构建需要的资源已经被锁定,它将在队列中等待该资源可用。
- 要了解插件的安装、配置以及在流水线中使用该插件的详细信息,请参阅官方文档:https://plugins.jenkins.io/lockable-resources
- 本文主要讨论如何在FreeStyle Job中使用Lockable Resource插件。
在Freestyle Job中使用Lockable Resource插件
-
已安装Lockable Resource插件:
-
在Jenkins中,已创建了Lockable Resource:一个名为
LOCK_RES 的Lockable Resource
-
创建一个名为
DEMO_JOB 的 Freestyle 类型的 Job:该 Job 需要占用LOCK_RES ,且选中Execute concurrent builds if necessary允许Job同时执行多个构建
-
在Job的Build Steps部分,添加Execute shell,随机执行
ping 命令50 ~ 100次模拟耗时的操作:ping www.baidu.com -c $((RANDOM % (100 - 50 + 1) + 50))
-
点击Build Now,执行
DEMO_JOB
-
在构建执行中,再次点击Build Now,会有一个新的构建在队列中等待
LOCK_RES 被释放。
-
当有构建在队列中等待时,再次点击Build Now,不会再创建新的构建!!!
?? 问题:队列中只能有一个相同的构建等待Lockable Resource。如何解决这个问题?下回分解。