在 TC 管道中保留对共享资源的锁定(在构建配置之间)

Preserve a lock on shared resource in TC pipeline (between build configurations)

我有一个具有多个构建配置的 teamcity 管道。其中一些需要一个数据库来进行测试。到目前为止,我在 TeamCity 中有一个配置为共享资源的数据库模式池。每个构建配置都锁定一个模式,然后将数据库部署到其中作为第一步。现在,我想要一个构建配置来锁定资源、部署数据库,然后它应该被管道中的其他构建使用。

类似于:

deploy_db -> build_binaries -> unit tests
                            -> integration tests
                            -> ... other tests

我想运行 并行测试构建。为此,我需要在 deploy_db 中锁定架构,然后将锁定传递给其他构建。可能吗?

也许我可以在 deploy_db 中锁定架构池中的任何值,然后在其他构建配置中使用 %dep.deploy_db.locked_schema% 来锁定特定值。

然而,为另一个分支构建可能会触发 deploy_db,从而锁定相同的模式(使用 "lock any value")?我的意思是,如果在 deploy_db 完成之后和下一次构建执行锁定之前触发它,这可能是可能的?在 deploy_db 之后和再次获取锁之前,将有一小段时间释放锁。从技术上讲,这次另一个构建可以锁定相同的值。是否可以避免这种情况?

例如,我可以在管道的第一个构建中锁定一个值并在最后一个构建中释放它吗?

尚不支持。你可以watch/vote对应request in the issue tracker