我在 Jenkins 中配置了一个多分支管道项目。这个项目在我所有的功能分支(git)上运行集成测试。对于管道项目中的每个作业,它都会创建我的 webapp 的一个实例(启动 tomcat 和其他依赖项)。由于端口绑定问题,这会导致许多工作中断。
我可以限制多分支管道项目中的构建,以便每个功能分支的作业顺序运行而不是并行运行吗?
或者是否有更优雅的解决方案?
编辑:情况和问题:
- 我想在 Jenkins 中有一个多分支管道项目(因为我在 git 中有很多功能分支)
- 从多分支管道创建的作业(对于 git 中的每个功能分支)并行运行
- 轮询 scm 是在午夜(x 分支上的提交是新的,因此相关工作在午夜开始)
- 每项工作都启动了我的 webapp(和其他依赖项)的一个实例,该实例绑定到某些端口
问题是,许多这样的工作可以在午夜开始。每项工作都会尝试启动我的 webapp 的一个实例。第一份工作可以毫无问题地启动webapp。第二个作业无法启动 webapp,因为端口已经从第一个实例中获取。
我不想为我的 git 存储库中的每个功能分支配置新的端口绑定。我需要一个解决方案来限制多分支管道中的构建,以便只有“功能”才能同时运行。