GOCD vs OctopusDeploy

Our company is currently using GOCD for continuous delivery and have been for a couple years now. However, we periodically investigate what else is going on in the market in an effort to evaluate alternatives against what we know.

Is there any documentation, blog, heresay that could give some (non-emotional) pros/cons of GOCD vs OctopusDeploy? For reference, GOCD can be found here: http://www.go.cd/

Thanks much.

Hi Jason,

Thanks for getting in touch!

We tend to not really get into comparisons with other products (because we’re obviously very biased). I will say though that the main difference between us and Go is that we tend to build towards .NET application conventions. Meaning that for most of your ASP.NET apps or Windows Services you have a lot less to do to have them deployed and configured. I know of Thoughtworks run projects where they’ve chosen Octopus Deploy (despite their ownership of Go).

Hope that helps a little.



We are using the products in a complementary fashion
GOCD is handling our CI/CD pipelines and ultimately uses Octopus Rest API to create and deploy using Nuget packages when the promote phases of our pipelines and execute
Please ping me if you need more details

We are very happy with how its working: app.net/databases/J2EE/automic uc4 all work seamlessly

I would like to know more details on octopus deploy and GOCD integration.

In GO the Commit pipeline creates a Nuget package containing a deploy powershell script (the package name contains a semver indicator)

In GO the Integration pipeline is trigger when Commit succeeds the build of a new version of the package and places it into a nuget feed and then creates an Octopus release (using octo.exe) for this package.

If GO the Acceptance pipeline is triggered (from the Integration pipeline change) and receives the Octopus release id from it: it then uses request a deployment to an environment of this release. This causes octopus to perform a release, which ends up calling the deploy powershell from the nuget package that does all the heaving lifting in a way that is related to the contents of the package (metadata) it is processing.

Hope this help