【问题标题】:PreDeploy.ps1 missing from tentacle directory following deployment with TeamCity and Octopus Deploy使用 TeamCity 和 Octopus Deploy 部署后,触手目录中缺少 PreDeploy.ps1
【发布时间】:2013-12-16 16:20:43
【问题描述】:

我有一个使用 teamcity 和 Octopus Deploy 部署的 .Net 4.5 项目,其中包括 PreDeploy.ps1、Deploy.ps1 和 PostDeploy.ps1。

所有三个的构建操作都是Content。我尝试将“复制到输出目录”设置为不复制始终复制

我可以看到,当 TeamCity 创建 nuget 包时,所有三个 powershell 脚本都包含在工件视图中。但是,在部署之后,只有 Deploy 和 PostDeploy 脚本在 tentacle 机器的 octopus 目录下。

我错过了什么吗?

【问题讨论】:

  • 您解决了这个问题吗?尽管部署了一个包含 PostDeploy.ps1 文件的全新软件包,但我仍在体验它。

标签: teamcity octopus-deploy


【解决方案1】:

Octopus 会缓存下载的软件包,所以也许您没有通过修改版本号来强制重新下载?或者,您可以在部署版本时检查“从 NuGet 服务器重新下载包”。

如果 PreDeploy.ps1 的添加晚于其他脚本,则可能是上述原因。

【讨论】:

  • 我让 TeamCity 创建我的包并为我运行 Octopus 集成部署,因此版本号每次都会自动增加。
  • 只是为了确保,我会检查“C:\Octopus\Applications\.Tentacle\Packages”文件夹以验证是否下载了最新的包。检查时间戳和/或使用 NuGet 包资源管理器打开此处找到的包,查看它是否包含 PreDeploy.ps1。
  • 我检查了包文件夹,但看不到日期戳为 12 月 16 日的包,这是我写原始问题的那一天,而我整洁的发布工作已经摆脱了发布本身,所以我不能交叉检查。它确实与您在此处所说的相符,但这是否意味着当团队城市构建创建包并用新的内部版本号标记它们时,八达通使用了具有不同内部版本号的缓存版本?现在有点难以检查,因为我最终将 preDeploy.ps1 的内容放入了 deploy.ps1 并且有效。
  • 如果您能够使用 Octopus 部署新版本的 Deploy.ps1,那么缓存应该不是问题,因为缓存问题会导致 Deploy.ps1 无法更新。
  • 是的,我也刚刚想到!无论如何都要为帮助 +1。
猜你喜欢
  • 2014-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多