gpt4 book ai didi

c# - 在 .NET 中使用 Go CD

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:40 24 4
gpt4 key购买 nike

我想使用 Go CD使用 .NET Web API 项目和 Git。

我喜欢通过管道将特定构建工件提升到某些环境的想法。目前我们在 Git 中使用 TeamCity 和分支。我们使用 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 Config 转换)?因此,例如,当构建升级到测试环境时,我想使用 Web.Test.config,但当升级到暂存环境时,我想使用 Web.Staging.config 等。

另外我想知道您是否有在 .NET 项目中使用 Go CD 的经验?

最佳答案

我没有在 .NET 项目中使用 Go CD 的经验,但也许我的建议会有所帮助。

1.创建包含内容的 TransformStaging.csproj 文件:

<Project ToolsVersion="4.0" DefaultTargets="Transform" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildProjectDirectory)\MSBuild\Microsoft.Web.Publishing.targets" />
<Target Name="Transform">
<Copy SourceFiles="$(Source)" DestinationFiles="$(Source).tmp"/>
<TransformXml Source="$(Source).tmp" Transform="Web.Staging.config" Destination="$(Source)" />
</Target>
</Project>

2.调用msbuild用

msbuild.exe TransformStaging.csproj /p:Source=$configFilePath

关于c# - 在 .NET 中使用 Go CD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30686131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com