我想将Go CD与 .NET Web API 项目和 Git 一起使用。
我喜欢通过管道将特定构建工件推广到某些环境的想法。目前我们正在使用 TeamCity 并在 Git 中进行分支。我们使用 MSBuild 通过特定的配置转换(测试、暂存、实时)进行构建和部署。
我们的 MSBuild 命令行参数如下:
/p:Configuration=%DeployConfiguration% /p:Platform=AnyCPU /t:WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl=%DeployPath%
%DeployConfiguration%
是每个环境的参数;测试、暂存、实时并使用 .NET Config Transforms 为指定环境转换 Web.config。%DeployPath%
是每个环境的每个项目的参数。所以 AuthAPI Live 会是这样的:\\liveServer\path\to\AuthAPI\
.
我对此的一个问题是:当构建工件被提升到管道的下一阶段时,如何使用特定的环境配置(使用 .NET 配置转换)?例如,当构建提升到测试环境时我想使用 Web.Test.config,但是当提升到登台环境时我想使用 Web.Staging.config 等等。
另外我想知道你是否有使用 Go CD 和 .NET 项目的经验?