我有一个具有多个构建配置的teamcity管道。其中一些需要一个数据库进行测试。到目前为止,我有一个db模式池,配置为TeamCity中的共享资源。每个构建配置都会锁定一个模式,然后将DB作为第一步部署到其中。现在,我想要一个构建配置来锁定资源,部署db然后它应该被管道中的其他构建使用。
类似的东西:
deploy_db -> build_binaries -> unit tests
-> integration tests
-> ... other tests
我想并行运行测试版本。为此,我需要在deploy_db中锁定模式,然后将锁传递给其他构建。有可能吗?
也许我可以在deploy_db中锁定架构池中的任何值,然后在其他构建配置中使用%dep.deploy_db.locked_schema%来锁定特定值。
然而,另一个分支的构建可能会触发可能锁定相同模式的deploy_db(使用“锁定任何值”)?我的意思是,如果在deploy_db完成之后和下一次构建执行锁定之前触发它可能是可能的吗?在deploy_db之后和再次获取之前释放锁定的时间很短。从技术上讲,另一个构建可能会在此时锁定相同的值。是否有可能阻止这种情况?
例如,我可以从管道中锁定第一个构建中的值并在最后一个构建中释放它吗?