octo.exe 的 create-release 和 octopack 作为 msbuild 的参数有什么区别

What is the difference between octo.exe's create-release and octopack as an argument to msbuild

我无法理解章鱼部署的基础知识。我将 octo.exe 与 create-releasedeploy-release 命令一起使用。我也在使用octopack插件。

我收到一个错误,但这不是重点 - 我想了解这些部分是如何组合在一起的。我已经搜索和搜索了这个主题,但每篇文章似乎都假设 reader 已经有大量关于章鱼和自动部署的背景信息,但我没有。

我的问题是:通过将 octopack 参数传递给 msbuild 使用 octopack 与使用 octo.exe 简单地创建一个版本有什么区别?我是否需要两者都做,或者一个或另一个就足够了?如果两者都需要,它们各自的具体作用是什么?

Octopack 用于 NuGet 打包项目。它有一些额外的属性来帮助将包推送到 NuGet 提要等。

octo.exe 用于在 Octopus 服务器上自动创建发布并可选择部署。

注意:Octopus 中的 release 基本上是一组关于如何进行部署的说明。它包括变量和步骤的快照、对 NuGet 包版本的引用等。


octopack 是一个很好的入门者,但是我前段时间出于一些原因停止使用它。

  • 不支持 .Net 2.0 项目(我需要将所有遗留应用程序移至 Octopus)
  • 不喜欢修改项目文件(个人喜好)

纯粹的 nuget.exe 对我来说并没有太多工作。

Octopus Deploy Documentation中定义的发布和部署:

...a project is like a recipe that describes the steps (instructions) and variables (ingredients) required to deploy your apps and services. A release captures all the project and package details so it be deployed over and over in a safe and repeatable way. A deployment is the execution of the steps to deploy a release to an environment.

OctoPack

...the easiest way to package .NET applications from your continuous integration/automated build process is to use OctoPack.

它很容易使用,但正如 Alex 已经提到的,您也可以使用 nuget.exe 来创建包。

Octo.exe

is a command line tool that builds on top of the Octopus Deploy REST API.

它允许您执行通常通过 Octopus Deploy 网络界面执行的大部分操作。

所以,OctoPack 和 octo.exe 有不同的用途。您无法使用 OctoPack 创建版本,并且 octo.exe 不适用于创建包。