Octopus Deploy:没有获取操作 'xxxxxx' 和机器 'Machine-Name' 的包

Octopus Deploy: No package for the action 'xxxxxx' and machine 'Machine-Name' was acquired

我开始研究 Octopus Deploy 并设置我的第一个部署,但我 运行 遇到了一些麻烦。我试图尽可能具体,而不是寻找最近遇到过同样问题的人。 "This is not a new problem. See -reseach"

设置

版本:

  1. TeamCity 10.0.4
  2. 章鱼部署 3.10.1

我的持续集成堆栈由 TFS、TeamCity 和现在的 Octopus 组成。我的部署过程:

  1. TeamCity 运行 .NET 应用程序构建。 (脚本、测试等。)
  2. TeamCity Octopus plugin 成功创建版本控制的 Nuget 包。
  3. 使用“OctopusDeploy:推送包”的 TeamCity 构建步骤将包推送到章鱼服务器。
  4. 在 Octopus 中添加了一个外部提要,一个名为“Octopus Local Packages”的测试指向默认的内部章鱼包目录:C:\Octopus\Packages
  5. 章鱼项目是使用“部署 IIS 网站”模板一步创建的,其中包部分设置如下:

问题

研究

这在过去的 3.0.7 之前的版本中发生过,并已修复。 Link to bug thread 1

然后它在 3.4.15 版本之前的某个时候再次发生,并已修复。 Link to bug thread 2


任何帮助、修复或解决方法都将得到极大的应用。如果我遗漏了任何细节,我将非常乐意澄清。

更新

这很可能是八达通的新手错误。问题中显示的错误实际上是未找到部署包的结果。以下是通过文档和试错的发现:

  1. Octopus 服务器(内置) 仅为推送源。这意味着包可以上传到此提要但不能使用。

  2. 使用 Octopus 的服务器本地包,即之前从 say TeamCity[= 推送到 Octopus 服务器(内置) 的包40=],你必须自己提供这些包裹。

  3. 您可以通过创建指向服务器包默认路径的外部提要,通过 Octopus 为这些包提供服务:C:\Octopus\Packages

最重要的是,错误修复!

  1. 对部署流程步骤进行更改时,必须创建新版本。简单地重新部署以前的版本将尝试使用保存在快照中的以前的步骤设置而不是新的步骤设置来重新部署。根据 TeamCity 的行为,这可能会让像我这样的 TeamCity 用户感到惊讶。