我想从VSTS中的团队项目下载特定文件夹,并将其复制到本地服务器上。我已经设置了vsts代理,它可以通过使用“Windows机器文件复制”来复制文件,但我的问题是代理从根开始下载我的整个团队项目。
在Artifacts中,当我选择Link一个工件源并在类型下选择Team Foundation Version Control时,在Source(存储库)下我只能在下拉列表中选择我的团队项目$ / myTeamProject。我无法在VSTS中提供类似$ / myTeamProjet / Main / subfolder的路径。
这是错误的做法吗?我基本上想要将我在VSTS的团队项目中的子文件夹中的一些文件复制到本地机器,而不从整个根文件夹($ / myTeamProject)下载所有内容。当我用一个复制文件的单一任务触发一个Release时,它需要永远。代理如何仅映射特定文件夹而不映射整个根文件夹?
答案 0 :(得分:0)
我的观点是,这不是一个好方法。您的构建应该发布一组工件,这些工件代表一组完整的可部署位,当您通过管道部署它们时保持静态。
想一想这种情况:你有一个发布定义,其中定义了一个管道Dev - > QA - > PROD。
您部署到Dev。您的发布定义从源代码管理中提取Changeset 1234。
几个小时后,您将部署到QA。您的发布定义会引入Changeset 1234。
有人更改了一些源代码。你去部署到Prod。您的版本定义会引入Changeset 123 5 。现在,您正在部署一些尚未在较低环境中测试过的内容。你只是大大增加了问题的可能性。
如果您想重新部署旧版版本以尝试重现错误,则适用相同的方案。
简而言之:在构建过程中将该文件夹作为工件发布。
答案 1 :(得分:0)