0

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

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

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

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

4

1 回答 1

0

新答案

  1. 使用 Octopus 步骤部署第一个包
  2. 使用第二个“部署包”步骤部署内包
  3. 在第二个包上运行转换
  4. 使用 NuGet pack 打包最终结果

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

于 2017-05-16T14:28:49.290 回答