【发布时间】:2019-11-12 03:53:32
【问题描述】:
我尝试了几天来使用 Azure DevOps Pipeline 发布我的 ClickOnce 应用程序。在详细介绍之前,我想从发布视图中执行以下操作:
我从一个工件和 2 个发布阶段开始,在我的暂存阶段使用暂存变量修改 config.deploy 文件,并在我的生产阶段使用生产变量修改 config.deploy 文件。部署工作正常,但由于哈希检查系统,应用程序安装无法正常工作。
所以我决定用 2 个工件创建 2 个构建。我在第一次构建时将经典 drop 重命名为 drop_staging,在第二次构建时将其重命名为 drop_production。我希望构建系统 (MSBuild) 能够在构建和发布过程中选择正确的 app.Debug.config 然后 app.Release.config 文件。
这是我的构建定义
这是我的构建参数
/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\\"
配置设置为 Staging 用于第一次构建,然后设置为 Production 用于第二次构建。当然,我在 Visual Studio 中有 Staging 和 Production 构建定义。我的项目中有一个app.config 和app.Staging.config 和app.Production.config。
我不能简单地在构建后添加一个任务来转换我的配置文件,因为我不会尊重哈希。我应该想办法让我的构建使用正确的 XML 转换配置文件。我没有看到任何其他解决方案,或者可能在构建之前应用此转换?是否可以?你的解决方案是什么?
【问题讨论】:
标签: azure-devops clickonce azure-pipelines