【发布时间】:2020-03-26 22:46:12
【问题描述】:
构建工作正常,但最后一件事让我感到困惑......如何将构建产品提交回 P4 存储库?好像没有预定义的设置或构建步骤/功能?
我不得不为此编写自己的脚本,这对我来说非常奇怪...这是需要的吗,我将如何使我的预定义 P4 工作区提交二进制文件?
【问题讨论】:
标签: teamcity perforce build-automation
构建工作正常,但最后一件事让我感到困惑......如何将构建产品提交回 P4 存储库?好像没有预定义的设置或构建步骤/功能?
我不得不为此编写自己的脚本,这对我来说非常奇怪...这是需要的吗,我将如何使我的预定义 P4 工作区提交二进制文件?
【问题讨论】:
标签: teamcity perforce build-automation
好的,首先我意识到“工件”是在部署即用型应用程序时使用的东西,而不仅仅是二进制文件。
跳过了部署工件,只是添加了一个新的构建 PowerShell 构建步骤。它还不完美,以纯文本形式存储密码,但这基本上是可行的。在每个命令中跳过 P4“登录”时无法强制工作。 P4 正在回复消息“密码无效或未设置”。
$user ="MyUser"
$workspace ="MyWorkspace"
$pswd ="MyPassword"
# update workspace root - use human-friendly workspace name instead of TeamCity automatically generated workspace
$p4Client = p4 -c $workspace -u $user -P $pswd -p localhost:1666 client -o $workspace
$p4Client = $p4Client -replace '^Root:.+$', "Root: %teamcity.build.checkoutDir%"
$p4Client | p4 -c $workspace -u $user -P $pswd -p localhost:1666 client -i
# submit build products
p4 -c $workspace -u $user -P $pswd -p localhost:1666 reconcile _a -e -c default "//..."
p4 -c $workspace -u $user -P $pswd -p localhost:1666 submit -d "build %build.number%"
【讨论】: