Octo.exe: a more flexible "version" argument

Is it possible to use the “version” argument of Octo.exe in a more flexible fashion, like below:

Instead of “version=1.0.18”, I’d like to use “version=1.0”.

Thanks!

Hi Rafael,

Thanks for getting in touch! Could you explain a little bit more about what you are trying to accomplish here?
Do you just want shorter version numbers?

Vanessa

Hi Vanessa!

I’d like to deploy the latest release I have in my Test environment just by informing “1.0” in the version parameter. Generally, I have to inform the entre version number, such as “1.0.18”.

Hi Rafael,

Thanks for the reply.
I am having trouble replicating this, I was able to do the following:

C:\Users\Administrator\Downloads\OctoEXE>octo.exe create-release "--project=testing roles" --version=2.0 --server=http://localhost/ -ApiKey API-xxxxxxxxxxxxxxxxxxxxxxx
Octopus Deploy Command Line Tool, version 2.5.4.35

Handshaking with Octopus server: http://localhost/
Handshake successful. Octopus version: 2.5.7.384; API version: 3.0.0
Finding project: testing roles
Finding deployment process for project: testing roles
Finding release template...
Resolving NuGet package versions...
Finding latest NuGet package for step: package step
Using version number provided on command-line.
Release plan for release:    2.0
Steps:
  #   Name           Version         Source
  1   package step   1.0.0.2         Latest available in NuGet repository

Creating release...
Release 2.0 created successfully!

Could it be possible that your octo.exe is out of date? It is a separate download to the Octopus Server and Tentacle.
http://octopusdeploy.com/downloads (See Command Line).

Vanessa

Hi Vanessa!

So, suppose you have a new version labeled “2.0.1.289”. As far as I know, I wouldn’t be able to write the command line below and have my new version (2.0.1.289) deployed. Octopus will tell me there’s no such version like this.

create-release “–project=testing roles” --version=2.0 --server=http://localhost/ -ApiKey API-xxxxxxxxxxxxxxxxxxxxxxx

Hi Rafael,

There is no way to pass a shorthand of a version number. But if you do not pass version it will use the Projects defined version pattern and will create the next available version number.
If this does not suit, you have to pass the full version, there is no other workaround, or shortcut.

Vanessa

I have the same need… However I’m confused by this thread because it starts with Rafael asking about “deploying” the latest, but the answers were about how to “create” a release. It seems that deploying latest should be default behavior of the deploy-release switch if no version parameter is passed. If this is not the case, the only other way I could think of this, is to use powershell to run Octo and list-latestdeployments for a particular project and environment, and use then capture the first occurence of “version” in a variable, then re-call the octo.exe with that variable.

Good News… I was just playing around with this in my environment, and on a whim, tried the following switch --version=latest. To my surprise, this worked! Full command below…

Octo.exe deploy-release --project=mytestproject --server=http://myserver --apikey=API-xxxxxxxxxx --deployto=mydev --version=latest

Hi,

Thanks for pointing out that you can use “–version=Latest”, i was about to do the same and then realized this wasnt documented on the Octo.exe’s built in help. I’ll make sure to get that added.

github issue: https://github.com/OctopusDeploy/Issues/issues/1390

Dalmiro.