现在我的 TFS 构建在我们的 DLL 地狱问题之后开始工作。我的任务是弄清楚如何将特定图像部署到特定环境。
我目前正在尝试查看 TFS 是否允许基于开箱即用的配置忽略文件。否则有谁知道使用 web.config 根据我所处的环境更改读取哪些图像的方法。我是一个 SCM,几乎没有 DEV 经验,我的 TFS 经验表明,如果不编写自定义文件,就无法做到这一点构建脚本。问是因为我意识到我的经历并不完整。
任何帮助都会非常感谢您的宝贵时间!
现在我的 TFS 构建在我们的 DLL 地狱问题之后开始工作。我的任务是弄清楚如何将特定图像部署到特定环境。
我目前正在尝试查看 TFS 是否允许基于开箱即用的配置忽略文件。否则有谁知道使用 web.config 根据我所处的环境更改读取哪些图像的方法。我是一个 SCM,几乎没有 DEV 经验,我的 TFS 经验表明,如果不编写自定义文件,就无法做到这一点构建脚本。问是因为我意识到我的经历并不完整。
任何帮助都会非常感谢您的宝贵时间!
这是那些具有误导性的主题之一:打包和部署 Web 应用程序(从对 web.config 的引用中推断出来,如果我错了,请纠正我)。
打包和部署
TFS 与您正在编译的代码类型无关,因此您必须指示 TFS 调用的“Visual Studio”构建系统在 MSBuild 步骤中进行编译。
在ALM Rangers' Build Guidance中有关于此的特定部分。在 web-app 案例中,通常将 MSBuild 参数设置为类似
/p:DeployOnBuild=True /p:Configuration=QA /p:DeployIisAppPath="web.qa.contoso.com" /p:DeployTarget=Package
获取一个 Zip 文件,与 WebDeploy 一起使用。
选择内容
如果您需要不同的内容来创建不同的包,TFVC 有一个简单的技巧(不要使用 Git)。假设您想要一个 QA 包和一个带有两个不同 JPG(或签名密钥或证书等)的 Production 包。该文件的两个版本是$/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)\Special\logo.jpg |
|-------|--------|----------------------------|-------------------------------|
| Prod | Active | $/MyProj | $(SourceDir)\ |
| Prod | Cloak | $/MyProj/Special | |
| Prod | Active | $/MyProj/Special/Prod.jpg | $(SourceDir)\Special\logo.jpg |