"Automated" creation & deployment of release

Paul,

Being early adopters has its challenges.
I know there are already 2 backlog items dealing with this topic, but we are trying to get our CI environment complete, and the deployment of the code to our test machines is the last step.
Is there any rough estimate for v1 or more importantly, the API feature?

Alternatively, Octopus seems to be coded in RESTfull MVC fashion; as our entire build and Nuget creation is cleanly contained in workflow activities, we considered the possibility of creating custom activities that call the various URLs to automate the creation and triggering the deployment for us. However, before developing anything, we were curious towards your ideas on this approach.

Ewald

Hi Ewald,

Thanks for letting me know, this is a pain point for you as well as a few others. As you said it’s in the backlog, because I wasn’t sure:

  • What people want to do with the API (create release, deploy, etc)
  • How they would like to use them - command line, REST, SOAP, MSBuild task, etc.
  • How the API’s should look

After reading your message and feedback from a few others about this feature, it’s becoming pretty clear. This seems to be the main pain point:

“I have a CI tool, and I want it to automatically create a new release and deploy it to one or more environments after a build completes”

Is that an accurate understanding of what you need to accomplish?

If you check the Octopus Trello now, you’ll see my focus has shifted. I’m now working on is a super simple, cut-down tool for achieving the above.

My plan is to:

  • Include the REST API’s needed in the next Octopus release (they are mostly there, just need a little extending) - this will be out on Monday
  • Create a project on CodePlex to build a command line tool to make using the API’s from your CI easier - I’ll make this open source so it can evolve more naturally or be extended

Instead of trying to build the perfect API (which was why it was at the back of the backlog) I’ll focus this week on building something that is enough to solve the CI pain point.

Thanks again for the honest feedback, and let me know how this sounds,

Paul

Hi Paul,

It sound like that indeed would provide us with the functionality we need. As I mentioned, I’d be happy to create my own MSBuild Task for now, whether it call something on the command line, REST, or SOAP.

You are right, the primary need is to really be able to trigger Octopus to make a new release for a specific project, (which I would then expect to create a release based on the newest available nugets, just like the “Create Release” page pre-populates. and secondly to deploy that release to a particular environment.

An (Open Source) command tool that wraps the REST calls in 2 clean commands would be a very nice feature. With the Open Source nature of it allowing us, your users, to extend it to add additional functionality if we need it, maybe like “deploy-version” etc. But the 2 proposed initial functions would definitely solve our initial/immediate need.

Thank, and looking forward to Monday’s release.

Ewald

Hi Ewald,

Just in case you missed it, recent releases of Octopus include an API and command line tools. This page has more information:

https://octopus.atlassian.net/wiki/display/help/FAQ

Paul