At the moment teamcity is watching and building a mercurial develop branch using the AssemblyInfoPatcher plugin and Project.Website.2.x.x.x.nupkg turns up in artifacts and octopus is deploying this to a staging environment. awesome stuff.
Now I am just trying to get my head around how to set up octopus deploy to handle the default branch getting deployed to production as well now.
I have set up teamcity to produce the Project.Website.1.x.x.x.nupkg from the default branch but how does octopus know which package is a staging build from the develop branch and which is production from the default branch seeing apart from version number they have the same project name as in Project.Website ?
At the moment I have a staging environment, staging roles and a staging project group. do I just need to create a new group environment and roles for production and if so how does octopus know how to do its bit?
Both tools awesome bits of kit and I am sure I'm pretty close now.
You'll need to setup an environment for Production in Octopus Deploy.
Assumptions:
You can use the --deployto
option of octo.exe to specify an environment to deploy your newly created release to. Something like this:
octo create-release --server=http://your-octopus/api --project=Project.Website --version=%build.number% --packageVersion=%build.number% --deployto=Production
This command will:
TIP: Sometimes it takes a few seconds for TeamCity to get the artifacts published into it's NuGet feed. If your octo command tries to create a release using package versions that are not yet published the command (and build step) will fail. I build in a 30 second "sleep" in my script before running the octo.exe command to ensure that the build server has had time to publish the current version of the packages.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With