我正在开发一个.NET Web应用程序,我想用Octopus Deploy部署它。当我在发布模式下构建应用程序时,所有输出文件都按预期保存在bin\Release
文件夹中。当我使用Octopus Deploy部署项目时,bin\Release
中的所有文件都将复制到C:\Octopus\Applications\Development\MyService\1.0.0.0_N
。没关系。
问题是今天我已经为项目添加了2个新文件。构建时,它们会按预期保存在bin\Release
文件夹中,但在部署时,它们不会与其他文件一起复制到C:\Octopus\Applications\Development\MyService\1.0.0.0_N
。那是什么?
答案 0 :(得分:0)
这是因为在C:\ Octopus \ Packages \ MyService中已经存在一个名为MyService.1.0.0.0的旧包。因此它甚至没有尝试下载新的更新包。现在我已删除旧包并插入新包,它可以正常工作。唯一让我感到困惑的是,包裹更换应该自动发生......
答案 1 :(得分:0)
听起来您已经在项目和/或上设置了“已经安装的软件包”选项,而您没有正确地替换库中的软件包版本...
检查八达通项目的设置:
如果选择了跳过选项且Octopus检测到已在部署目标上安装了相同的软件包版本,则将跳过软件包步骤的所有功能。默认情况下,Octopus将始终重新部署每个包含的包。 禁用此项目
要特别注意替换版本(如果存在)复选框。
对于Octo.exe
,您需要指定--replace-existing
开关来模仿此行为。
你应该非常小心地替换库中的东西。
如果您更改了代码/存储库/等。您创建了新版本,因此您的版本号不应该是相同的。
如果您更换了所使用的版本,则可能会削弱您回滚到以前版本的能力。