jenkinsmsbuildreleaseoctopus-deployoctopack

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


I am having trouble understanding the fundamentals of octopus deployment. I am using octo.exe with the create-release and deploy-release commands. I am also using the octopack plugin.

I am getting an error but that's not really the point - I want to understand how these peices fit together. I have searched and searched on this topic but every article seems to assume the reader has a ton of background info on octopus and automated deployment already, which I do not.

My question is: what is the difference between using octopack by passing the octopack argument to msbuild and simply creating a release using octo.exe? Do I need to do both, or will one or the other suffice? If both are needed, what do each of them do exactly?


Solution

  • Release and deployment as defined in the 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 is

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

    It is easy to use, but as Alex already mentioned, you could also use nuget.exe to create the package.

    Octo.exe

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

    It allows you to do much of the things you'd normally do through the Octopus Deploy web interface.

    So, OctoPack and octo.exe serve a different purpose. You can't create a release with OctoPack and octo.exe is not for creating packages.