如何使用TeamCity DSL版本设置功能



我正试图在TeamCity DSL中配置一个项目,我希望能够为该项目指定版本设置,否则我必须在导入/创建项目后手动编辑UI中的版本设置。

以下是我尝试使用的示例配置:

version = "2021.2"
project {
vcsRoot(TheVCS)
features {
versionedSettings {
mode = VersionedSettings.Mode.ENABLED
allowEditingOfProjectSettings = false
settingsFormat = VersionedSettings.Format.KOTLIN
buildSettingsMode = VersionedSettings.BuildSettingsMode.PREFER_SETTINGS_FROM_VCS
}
}
}
object TheVCS : GitVcsRoot({
name = "TheVcs"
url = "https://git.repo/1234"
userNameStyle = UserNameStyle.NAME
branch = "refs/heads/main"
branchSpec = "+:refs/heads/(*)"
checkoutPolicy = AgentCheckoutPolicy.NO_MIRRORS
})

为该配置生成XML(mvn-teamcity configs:generate(将导致:

[ERROR] Error while generating TeamCity configs:
[ERROR] Validation error: Project 'RootProjectId', project feature [1/1]: Versioned settings project feature cannot be used in relative project hierarchy

我需要以其他方式指定versionedSettings吗?或者这是正确的,行为是错误的吗?在谷歌上搜索错误消息只得到两个匹配,没有任何答案:

https://youtrack.jetbrains.com/issue/TW-63818

https://youtrack.jetbrains.com/issue/TW-66066

目前,无法从DSL本身更改版本设置配置。如果我们允许这样做,那么可能会出现一些无关紧要的问题。因此,您无法更改当前正在与VCS同步的项目的同步选项。在DSL从其他VCS存储库生成的子项目中,您也无法启用与其他VCS根目录的同步。基本上,这是一个鸡和蛋的问题,因此存在局限性。

最新更新