在TeamCity中构建并通过Octopus Deploy部署的Squirrel.Windows应用程序的配置转换未更新



我有一个使用从TeamCity执行的蛋糕脚本的构建过程。在我的构建脚本中,我构建了一个 Web api、一个数据库 (dacpac( 项目和一个 WPF 应用程序。 脚本中的任务之一是为 WPF 客户端应用创建 Squirrel.Windows 发布包。

一旦创建了构建工件(松鼠发布nuget pkg(,TeamCity将启动Octopus部署版本,并将其移交给部署。 我依靠八达通来保留每个租户/环境的配置变量(appSettings、db conn 字符串等(。

客户端应用有一个带有数据库连接字符串的 app.config,该字符串应由 Octopus Deploy 转换,以便获取环境/租户的正确值。

一旦 OD 部署了松鼠 pkg,它就不会执行配置转换,这意味着 app.config 文件的 DB conn 值不正确,等等。 有没有办法做到这一点?

新答案

  1. 使用八达通步骤部署第一个包裹
  2. 使用第二个"部署包"步骤部署内部包
  3. 在第二个包上运行转换
  4. 使用 NuGet 包打包最终结果

这一切都可以在Octopus Deploy中完成,但我的建议是构建一个Posh脚本,或使用Chocolatey扩展(我可以指出我正在做的事情(来完成转换和打包。

最新更新