现在我的TFS构建在DLL地狱问题之后开始工作。我的任务是弄清楚如何将特定的映像部署到特定的环境中。
我目前正在尝试查看TFS是否允许根据开箱即用的配置忽略文件。否则,有人知道如何使用web.config根据我所处的环境更改读取的图像吗?我是一名SCM,几乎没有开发经验,我的TFS经验表明,如果不编写自定义构建脚本,就无法做到这一点。问是因为我意识到我的经历并不完整。
任何帮助都将是惊人的感谢您的时间!
这是一个误导性的主题:打包和部署web应用程序(根据对web.config的引用推断,如果我错了,请纠正我)。
包装和部署
TFS对您正在编译的代码类型是不可知的,因此您必须指示TFS调用的"Visual Studio"生成系统在MSBuild步骤中进行编译。
在ALM Rangers的构建指南中有关于此的特定部分。在web应用程序的情况下,通常会将MSBuild参数设置为类似的参数
/p:DeployOnBuild=True /p:Configuration=QA /p:DeployIisAppPath="web.qa.contoso.com" /p:DeployTarget=Package
以获取要与WebDeploy一起使用的Zip文件。
选择内容
如果你需要不同的内容来创建不同的包,TFVC有一个简单的技巧(不要使用Git)。假设您想要一个QA包和一个生产包,其中包含两个不同的JPG(或要签名的密钥,或证书,等等)。该文件的两个版本是$/MyProj/Special/Prod.jpg
和$/MyProj/Special/QA.jpg
。创建两个TFS构建定义,并以此方式映射
| Build | Status | Source Control Path | Build Agent Path |
|-------|--------|----------------------------|-------------------------------|
| QA | Active | $/MyProj | $(SourceDir) |
| QA | Cloak | $/MyProj/Special | |
| QA | Active | $/MyProj/Special/QA.jpg | $(SourceDir)Speciallogo.jpg |
|-------|--------|----------------------------|-------------------------------|
| Prod | Active | $/MyProj | $(SourceDir) |
| Prod | Cloak | $/MyProj/Special | |
| Prod | Active | $/MyProj/Special/Prod.jpg | $(SourceDir)Speciallogo.jpg |