如何在没有 .Net 编译器的情况下修改 TFS 构建自动化工作流,需要使用 Team Developer's Language 编译器
How to modify TFS build automation workflow without .Net Compiler, need to use Team Developer's Language compiler
我正在尝试为使用称为 Team Developer 6 的旧语言开发的项目构建自动化。其中每个文件都需要编译为 exe。在构建 exe 之前还需要做一些过滤 activity。有 300 个前任。
我可以在简单的 .Net 实用程序中执行此过程,该实用程序执行过滤并为所需文件调用 Team Developer 编译器。
是否可以将其放入 TFS 构建工作流程中?最好的方法是什么?
理想情况下,您希望 use an InvokeProcess activity 调用执行过滤和调用的可执行文件。另一种更复杂的方法是创建自定义 activity,但这需要在构建服务器上安装二进制文件。
编写一个 MSBuild 项目,为您需要的工具调用必要的命令并将其签入。在 TFS 构建定义中,使用默认模板(首先)并将您创建的 MSBuild 项目文件设置为'project to build'。
这样您就可以在命令行上使用 MSBuild 在本地测试您的构建过程,并确定您可能需要哪些命令行开关。您可以将命令行开关设置到构建定义中,或者如果您需要一些进一步的控制,您可以修改默认模板以将命令行开关直接注入 MSBuild activity.
我推荐这种方式,因为这样您就不必创建任何自定义工作流,并且可以避免不得不在 TFS 中使用自定义工作流活动(这是绝对支持的,但在我看来有点难 diagnose/debug/maintain/upgrade).
我正在尝试为使用称为 Team Developer 6 的旧语言开发的项目构建自动化。其中每个文件都需要编译为 exe。在构建 exe 之前还需要做一些过滤 activity。有 300 个前任。
我可以在简单的 .Net 实用程序中执行此过程,该实用程序执行过滤并为所需文件调用 Team Developer 编译器。
是否可以将其放入 TFS 构建工作流程中?最好的方法是什么?
理想情况下,您希望 use an InvokeProcess activity 调用执行过滤和调用的可执行文件。另一种更复杂的方法是创建自定义 activity,但这需要在构建服务器上安装二进制文件。
编写一个 MSBuild 项目,为您需要的工具调用必要的命令并将其签入。在 TFS 构建定义中,使用默认模板(首先)并将您创建的 MSBuild 项目文件设置为'project to build'。
这样您就可以在命令行上使用 MSBuild 在本地测试您的构建过程,并确定您可能需要哪些命令行开关。您可以将命令行开关设置到构建定义中,或者如果您需要一些进一步的控制,您可以修改默认模板以将命令行开关直接注入 MSBuild activity.
我推荐这种方式,因为这样您就不必创建任何自定义工作流,并且可以避免不得不在 TFS 中使用自定义工作流活动(这是绝对支持的,但在我看来有点难 diagnose/debug/maintain/upgrade).