gpt4 book ai didi

tfs - 将文件从 Visual Studio Team Services 中的构建服务器提交回存储库

转载 作者:行者123 更新时间:2023-12-03 03:38:36 25 4
gpt4 key购买 nike

我目前正在使用 TFS/Visual Studio Team Services(以前是 VS Online)设置持续集成,并且我正在使用 Team Foundation Build 2015任务。所以不是 XAML 构建。

我正在使用它来构建 Xamarin Android 项目,但我认为这相当不敬,

流程应该是这样的:

  • 签到后:
  • TFS 应下载源
  • TFS 应增加 AndroidManifest.xml 中的版本号
    • 我已经通过为此制作了一个 PowerShell 脚本成功地做到了这一点。
  • 修改 AndroidManifest.xml 文件后,应将其提交回 TFS 存储库

然后剩下的,构建部署到 hockeyapp 等

第一步已全部配置,但我在提交部分遇到困难。如何让 TFS 提交文件?我真的没有看到任何适合它的任务。我尝试过使用 Copy and Publish Build Artifacts Utility - 但这似乎不起作用,我什至不确定这是否是正确的实用程序

顺便说一句,我正在使用默认的托管构建代理。任何帮助将不胜感激

最佳答案

警告

我确实想指出,在构建过程中检查更改可能会导致 VSTS/TFS 的某些功能无法正常工作。工作项与 checkin 、源和符号生成的关联、从构建到发布的更改的可处理性以及与测试管理器的集成、远程调试可能不会产生预期的结果,因为构建中记录的变更集/提交可能与实际不匹配来源。这可能会导致意想不到的有趣行为。

此外,如果在构建开始后已提交/ checkin 任何新更改,则可能会在源代码管理中更新未在该版本下实际发布的代码的版本号。

所以:首先,从构建过程中更改源被认为是一种不好的做法。

替代方案

有更好的方法可以做到这一点,一种是使用构建版本(Build_BuildNumber 或 Build_BuildID 变量)。或者您可以使用 task like GitVersion根据 git 存储库中的分支和标签生成语义版本。这样,您的构建将生成正确的版本号,并会增加修订版本,以防多次构建相同的源。

我明白,但我仍然想在构建过程中 checkin 我的代码

如果这些东西对您不起作用,并且您仍然想在构建过程中 checkin 更改,您可以使用 TFVC Build Tasks如果您使用 TFVC 或使用 Git Build Tools将远程添加到本地存储库,然后使用 git 命令行工具提交更改并将更改推送回存储库。

这些扩展需要安装 TFS Update 2。但是您可以使用 tfx commandlien 工具推送各个构建任务。 For the TFVC tasks the process is explained here .

在苹果电脑上

在 Mac 上,这会更困难,因为你使用的是 TFVC。我的 TFVC 任务利用 TFS 客户端对象模型和 Powershell 与 TFS 服务器进行通信。当您处于构建上下文中时,tf.exe 工具甚至无法在 Windows 上运行,这就是我需要直接调用 VersionControlServer 对象的原因。鉴于我依赖这些技术,这些任务将无法在 Mac 或 Linux 代理上运行。

您可以尝试查看是否Team explorer Everywhere X-platform commandline从构建代理工作(使用 shell 脚本)。我无法在实际的 Mac 上测试这一点。

考虑到项目的跨平台性质,我建议迁移到 Git,它集成到 XCode 和 Android Studio 中,从而更轻松地制作 native UI 或在 native 库之上进行构建。

替代方案 2

您可以设置一个构建,对代码进行所需的更改,然后 checkin 修改后的代码。然后让 (CI) 构建运行 Android,并使用修改后的代码构建 Mac。

关于tfs - 将文件从 Visual Studio Team Services 中的构建服务器提交回存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36645365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com