gpt4 book ai didi

azure-devops - 如何在不同环境中使用 Azure DevOps Pipeline 发布 ClickOnce 应用程序?

转载 作者:行者123 更新时间:2023-12-03 14:08:48 24 4
gpt4 key购买 nike

我尝试了几天来使用 Azure DevOps Pipeline 发布我的 ClickOnce 应用程序。在详细介绍之前,我想从我的发布 View 中执行以下操作:

enter image description here

我从一个工件和 2 个发布阶段开始,在我的暂存阶段修改带有暂存变量的 config.deploy 文件,并在我的生产阶段修改带有生产变量的 config.deploy 文件。部署工作正常,但由于哈希检查系统,应用程序的安装无法正常工作。

所以我决定用 2 个工件创建 2 个版本。我在第一次构建时将经典放置重命名为 drop_staging,而在第二次构建时将其重命名为 drop_production。我希望构建系统 (MSBuild) 能够在构建和发布过程中选择正确的 app.Debug.configapp.Release.config 文件。

这是我的构建定义

Build definition

这是我的构建参数

/target:publish 
/p:ApplicationVersion=$(Build.BuildNumber)
/p:PublishURL=http://app-staging.example.com/
/p:UpdateEnabled=true
/p:UpdateMode=Foreground
/p:ProductName="App Staging"
/p:OutputPath="$(build.ArtifactStagingDirectory)\Publish\\"

配置设置为 暂存 用于第一次构建,然后在 生产 用于第二次构建。当然,我在 Visual Studio 中有一个 Staging Production 构建定义。我的项目中有一个 app.configapp.Staging.configapp.Production.config

我不能简单地添加一个任务来在构建后转换我的配置文件,因为我不会尊重哈希。我应该找到一种方法来告诉我的构建使用正确的 XML 转换配置文件。我没有看到任何其他解决方案,或者可能在构建之前应用此转换?是否有可能?你的解决方案是什么?

最佳答案

最后我可以通过在构建之前添加文件转换来解决这个问题。

enter image description here

如果您需要更多帮助,这里是我用于转换的 YAML 详细信息

steps:

- task: FileTransform@1

displayName: 'File Transform: '

inputs:

folderPath: App.Example

enableXmlTransform: true

xmlTransformationRules: '-transform **\*.Staging.config -xml **\*.config'

fileType: xml

#Your build pipeline references the ‘BuildPlatform’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971



steps:

- task: VSBuild@1

displayName: 'Build solution'

inputs:

solution: Example.sln

msbuildArgs: '/target:publish /p:ApplicationVersion=$(Build.BuildNumber) /p:PublishURL=http://staging.example.com/ /p:UpdateEnabled=true /p:UpdateMode=Foreground /p:ProductName="App Staging" /p:OutputPath="$(build.ArtifactStagingDirectory)\Publish\\"'

platform: '$(BuildPlatform)'

configuration: Staging

关于azure-devops - 如何在不同环境中使用 Azure DevOps Pipeline 发布 ClickOnce 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58811775/

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