Add the ability to push deployment plans without user input (for instance from cron)
staminna - August 1, 2009 - 16:46
| Project: | Deployment |
| Version: | 6.x-1.x-dev |
| Component: | deploy.module |
| Category: | feature request |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | active |
| Issue tags: | deploy, production, SSH, staging, versioning control |
Jump to:
Description
Hi.
Question: Is it possible to schedule time a chain of deployment from development -> staging -> production circle and automate this process by a pattern (mouse-Off) with cvs or svn and ssh?
Q2: How complete is the module today and whats missing?
Best Regards,
Jorge Nunes.

#1
Right now this is not possible, because in order to maintain security, users must enter the remote server's username and password on every deployment. In order for this to happening another authentication mechanism would have to be used, ideally oAuth but another SSO implementation would work as well. There is a lot of interest in getting this done and I would expect it by the end of the year.
The module today is reasonably complete. One large gap is that it does not handle transferring attached files with nodes, due to a patch to Services that has not yet been committed and which I have not had the time to finish. It also does not handle some areas of Drupal core (most notably forums) and some popular modules. I would like to re-architect it to make it a bit more pluggable in various areas as well.
I'm leaving this issue open as a place to track the feature of unattended deployments.
#2
I'm very interested in this.
What I'd like is a a system with hook_nodeapi so the nodes in a deployment plan automatically deploy themselves when updated.
This would require plans to have a setting to assign one or more servers to them, and a setting to say they are automated.
That side of things I can help with.
The oath stuff I know nothing about -- I'm guessing I'd need to know not only about oath but also about how services module uses it? or would work on services module be required too?
#3
I'm very interested in this as well. Has anyone started working on this yet? If not, I might take a swing at it.
#4
From a functional standpoint this is easy. The problem is how to securely authenticate against the remote server without entering a password or saving the password anywhere in plaintext. If this problem can be solved then the rest is easy, but I don't know a way to solve that problem at the moment without some kind system like oAuth integrated into Services. I'm open to suggestions though.
#5
Subscribing :)
#6
Another problem that will appear when trying to do this during cron is the batching of deployment operations. The Batch API needs support for javascript or at least meta-refresh by the client that executes the cron job. And that isn't really possible in most cases.
One solution (and a really good one) would be to add support for the backported version the Drupal 7 Queue API here: Drupal Queue for deployment operations.