使用构建参数
这个主题展示了在 TeamCity UI 中可能选择引用参数而不是指定明确值的简单用例。 请参阅 主要使用场景 部分,以了解参数使用场景的概述。
如果您有各种配置要使用同一镜像仓库,您可以为 <Root> 项目创建一个自定义参数来存储这个镜像仓库的名称。 因此,您可以在任何拉取或推送您的镜像的 Docker step 中引用此参数。
tip
在 <Root> 项目内声明的参数可在所有 TeamCity 构建配置中使用。

以下 Gradle 步骤总是使用 JDK 19,而不是通过 JDK_HOME
环境变量引用的默认版本。 运行器从相应的 env.
参数中检索此所需JDK的路径。
steps {
gradle {
name = "Gradle step"
tasks = "build-dist"
jdkHome = "%env.JDK_19_0_ARM64%"
}
}
在以下示例中,.NET 运行器的 Command line parameters (命令行参数)字段的值是通过引用 dotnet.output.type
参数来指定的。

object MyBuildConfig : BuildType({
params {
param("dotnet.output.type", "WinExe")
}
steps {
dotnetBuild {
args = "-p:OutputType=%dotnet.output.type%"
}
}
})
tip
您可以通过创建
system.dotnet.output.type
参数并将其值设置为OutputType=WinExe
来更快地实现相同的结果。 TeamCity 将把这个值写入带有 .NET 设置的响应 (.rsp) 文件中,所以您不需要在 TeamCity UI 中设置 Command line parameters (命令行参数)字段。这种方法是基于一种机制,该机制将所有带有
system.
前缀的参数传递给构建引擎。 参阅此部分以获取更多信息:将值传递给构建器的配置文件。
在设置 Build Configuration Settings | General Settings |Artifact paths 页面上的工件路径时,您可以使用自定义配置参数来替换明文值。
object GoalInBuildScripts : BuildType({
artifactRules = "testfile1.txt => %default.artifact.path%"
params {
param("default.artifact.name", "/bin/artifacts/build_artifact.tar.gz")
}
})
Build Configuration Settings | General Settings | Build Number Format 字段允许您自定义此配置的构建编号模式。
构建的默认基于零的整数索引存储在 build.counter
参数中。 下面的示例将仓库分支的名称添加到构建编号中。
object MyBuildConf : BuildType({
buildNumberPattern = "%build.counter%-%teamcity.build.branch%"
})
版本控制系统标签 构建功能允许构建配置对仓库源进行标记。

以下设置说明了如何使用 release.status
参数的值作为标签。 另请参阅:参数显示模式。
object MyBuildConf : BuildType({
params {
param("release.status", "EAP")
}
features {
vcsLabeling {
vcsRootId = "${DslContext.settingsRoot.id}"
labelingPattern = "%release.status%"
}
}
})
VCS 检出规则 可以在 Build Configuration Settings | Version Control Settings 页面上配置。 如果您的组织对分支名称有特定的约定,您可以将这些默认名称存储为参数,并按下面所示指定签出规则。
object GoalInBuildScripts : BuildType({
params {
param("branch.ignored", "refs/heads/sandbox")
param("branch.default", "refs/heads/main")
}
vcs {
root(YourVcsRootName, "+:%branch.default%", "-:%branch.ignored%")
}
})
感谢您的反馈!