1

我是一名PHP程序员,我通常不会在Visual Studio中工作,尤其是不能在Team Foundation Server中工作,但我目前的工作需要我使用它。TFS 2010自定义生成工作流程

我的问题是,我需要创建一个自定义构建工作流(.xaml文件),将项目的开发版本(TFS中的源代码管理)的最新来源复制(理想压缩)到网络共享(\ myserver \ myshare \ myproject)当我击中队列新版本。我试图通过可视化编辑器位,我没有任何积极的结果(我所想的是如何使一个变量),我试图手动编辑.xaml文件(文本编辑器),但它没有'吨得到我很远......

它并不需要了解的解决方案或项目,它只需将文件从TFS源代码控制到网络共享项目文件夹复制....

我需要一步一步,点击指南如何做到这一点, 在此先感谢

使用的软件:Visual Studio 2010 Pro,Te上午Foundation Server的2010年,VS.PHP 2.10.3

+0

删除PHP标签的问题不是_about_ PHP,并添加了工作流基础,这是问题的关键。 –

回答

0

在visual studio 2010中,使用视图>工具箱查看所有活动,然后拖放它们。他们中的一些人也可以设置属性。

+0

任何想法为什么我的自定义活动不会“下降”?我得到没有标志(用斜线斜线) – ganders

2

要做到复印时,SyncWorkspace活动后添加CopyDirectory活动(该活动被命名为“获取工作区”,位于过程/顺序/运行在代理/初始化工作区),然后将Source property设置为SourcesDirectory,将Destination property设置为您的网络共享,或者根据您的喜好设置具有该值的变量。

要压缩文件,您可能需要使用InvokeProcess活动,调用某种脚本并传递SourcesDirectory变量:作为示例,这是如何使用zip files with powershell

编辑:

要执行的批处理文件,抓住从Visual Studio工具箱的InvokeProcess活动,特别是在Team Foundation共建活动标签,并将其拖放到工作流程。单击该活动,按F4查看属性窗口,然后填写批处理文件的路径以及要传递给它的任何参数。如果活动没有出现在您的工具箱中,请按照these instructions

+0

嗨,我相信这将是非常有用的后,如果我知道你在说什么..,我今天在Visual Studio 2010第一次工作..,我可以以某种方式在TFS上执行批处理脚本?最简单的是什么?在哪里点击添加活动?我需要点击点击指南.... –

0

你需要为你希望你可以看到下面的链接,通过一步用图片描述逐步如何定制文件夹在构建

http://lajak.wordpress.com/2011/05/07/customize-binaries-folder-in-tfs-team-build/

感谢

M至自定义工作流.Radwan

+0

嗨,对不起,我没有提到该项目是一个PHP项目,用VS.PHP制作,所以我不需要任何的解决方案/工作区/编译的东西...如果我知道如何在TFS上执行批处理脚本,那将会很棒。我需要点击点击指南..,谢谢 –

1

简单的选项是使用标准构建模板运行,并使用所需的UNC路径为放置文件夹配置构建定义。这将在构建完成时将工作区中的所有源移出到该位置。然后你可以自己手动压缩它。如果你想自动压缩它,那么你正在像其他人所建议的那样自定义构建模板。

0

,如果你想在TFS服务器上执行的脚本有这样做的不同的方法:

  1. 转到机器运行的TFS服务器
  2. 可以访问命令提示符。
  3. 运行你的脚本。

上面还可以通过各种工具或远程桌面远程运行。

如果你想自动运行一个脚本在TFS服务器上运行,还有一堆选项。您可以例如我们AT来安排批量作业(* .BAT或* .CMD)在特定时间运行。

如果您希望在TFS中检查内容时运行部署脚本,或者在“构建”时需要使用MS工作流基础。即使你实际上没有编译任何东西,它也被称为“构建”。这些构建脚本有一个标准格式,其中包括真正的编程语言所具有的编译步骤。你可以放心地忽略这些步骤,让他们留在那里。

在TFS(或网站,我猜?)下为您的项目建立TFS入口下的内容。克隆现有构建中的一个并创建一个新构建。为您的PHP部署过程创建一个新的XAML文件,否则如果其他人正在使用您的TFS来处理其他事情,您将破坏正常的构建。在构建过程XAML中,按上述答案中所述进行更改。在你构建的属性对话框中(这里有两个单词“build”,你可以有许多遵循相同“构建过程”的单词),你可以使用相同的过程来部署许多不同的PHP站点,目标文件夹将在您的各种版本的属性页面的“Process”选项卡中提供),在Trigger下,将其设置为Continuous Integration,这意味着您的这个新的自定义构建过程将随着您的新构建检入。

BAM你去了。