使用TeamCity和Octopus Deploy部署后,触手目录中缺少PreDeploy.ps1

使用TeamCity和Octopus Deploy部署后,触手目录中缺少PreDeploy.ps1,teamcity,octopus-deploy,Teamcity,Octopus Deploy,我有一个与teamcity和Octopus Deploy一起部署的.Net 4.5项目,其中包括PreDeploy.ps1、Deploy.ps1和PostDeploy.ps1 所有三个的构建操作都是内容。我已尝试将复制输出目录设置为不复制和始终复制 我可以看到,当TeamCity创建nuget包时,所有三个powershell脚本都包含在artifacts视图中。但是,在部署之后,只有Deploy和PostDeploy脚本位于触手机器的octopus目录中 我在这里遗漏了什么吗?八达通会缓存下载

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

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

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


我在这里遗漏了什么吗?

八达通会缓存下载的软件包,所以您可能没有为了强制重新下载而更改版本号?或者,您可以在部署版本时检查“从NuGet服务器重新下载包”


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

我让TeamCity为我创建了软件包并运行了Octopus集成部署,因此每次都会自动添加版本号。为了确保,我会检查“C:\Octopus\Applications\.Tentacle\Packages”文件夹,以验证是否下载了最新的软件包。检查时间戳和/或使用NuGet package Explorer打开此处找到的包,查看它是否包含PreDeploy.ps1。我已检查了packages文件夹,看不到日期戳为12月16日的包,这是我编写原始问题的那天,我的整洁发布作业已删除了发布本身,因此我无法交叉检查。这当然符合你在这里所说的,但这是否意味着当团队城市构建创建包并在包上加盖新的构建号时,八达通使用了具有不同构建号的缓存版本的包?现在检查有点困难,因为我最终将preDeploy.ps1的内容放入deploy.ps1中,这很有效。如果您能够使用八达通部署新版本的deploy.ps1,那么缓存不应该是问题,因为缓存问题会导致deploy.ps1未更新。是的,我也刚刚想到了这一点+1无论如何都需要帮助。您是否解决了此问题?尽管部署了一个包含PostDeploy.ps1文件的新包,但我仍然在经历这种情况。