Version Control of deployment scripts
In the Continuous Delivery book, Jez wrote that your deployment scripts should be in source control. After creating some pretty elaborate powershell scripts for Octopus, I have to agree. Losing those scripts or having them damaged would be pretty painful.
I understand Octopus has backups, but it would be better to be able to get back to a previous version or see where the script had changed. Since we use GIT, I would be completely satisfied if GIT integration was all that you supported. :) I hope this is helpful. Thanks.
This suggestion has been forked and a new one raised at https://octopusdeploy.uservoice.com/forums/170787-general/suggestions/15698781-version-control-configuration. If the import/export tool works for your situation, thats great. If it doesn’t, please vote on the new suggestion and add any thoughts you have about how you’d like to see it work.
This is THE most important feature I'm waiting for!
D Lemos commented
Fantastic idea. Basically this is the concept we are going forward in our company. Infrastructure as code.
Look forward for this.
Dave Welling commented
That's great news Paul. This is a fantastic solution.
Anders Truelsen commented
Storing all that goodness in GIT sounds sweet!
How about using MSSQL for the data, we already got that running and under control in our organisation. SQLite would knock me back to square 1 :-/
Michael Peterson commented
I was just poking around, and I see here that it's said, you can see the scripts run, and am just curious as I'm not seeing it.
If I have release 2.0.x, and am currently on 2.0.142, how do I see the actual process ran in 2.0.21? Or for that matter the actual contents of any step of the process at that point visually?
Specifically what I mean is, is there a way possible to see Release 2.0.21 --> Process?
If I change any of the configure steps on a deploy package, is there a way to see that?
This is something we'd also love to see. We experimented with persisting our library of Powershell scripts and modules in Octopus, but ultimately pulled them back out into source control (SVN, in our case) as we felt the drawbacks outweighed the benefits in the alternative configuration. We now only have a couple of Powershell step templates left residing in Octopus, but it would be great to see deeper integration available.
Great idea and definitely something i'd want to take advantage of.
I would add though, that while I appreciate it's the big fish, Git isn't the only version control system in the world.
everything should be under source control
Chris Burton commented
Totally agree that this would be an important feature I'd adopt immediately if available.
Arvind Raghunathan commented
2nd that integration to Git/tfs-git
David Peden commented
Came here to write the request. Pleasantly surprised to see that it already existed even if only recently. +1 for Git integration.
@Nicholas What would be fantastic would be for Octopus to understand how to pull from Git rather than store in Git. I.e., rather than Octopus being the boss on the deployment script and snapshotting a release's version (or versions of scripts) in Git, it would be much better to be able to tell Octopus where to pull a specific deployment script and have Octopus do that in real-time during a deployment. That way, Git would be the boss and you guys wouldn't have to write a whole bunch of VCS emulation directly in Octopus.
Thom Schumacher commented
I would really like to see some sort of Source control plugin for octopus scripts. Git would work. Tfs would work really anything where a user can see the changes roll back or put some source management around scripts would be awesome.
Hi Dave - we're a big fan of this approach too; you might be pleasantly surprised that, while we don't yet expose them through the UI, Octopus keeps a snapshot of all scripts used in a release, enabling pretty much the scenario you're after.
How to expose previous versions in a useful way is still something we're thinking about - git integration would definitely be close to the top of our list.
Thanks for posting the idea, looking forward to seeing other opinions on it. Cheers!