Ian Wilson schrieb:
>  So I guess my whole post is to say don't ignore
> the problem .. because it is a problem.

I second that opinion.

I think, deployment can be generalised, independent of the infrastructure, into
the following steps:

1) Package the latest code, data and configuration
2) Transfer the package, data and configuration  to the remote host
3) Install the package, data and configuration on the remote host
4) Restart the application


Step 1) can be subdivided into (here's were it get's specific to the particular
setup):

1a) Update/Tag repository (Ex: svn ci; svn copy ...)
1b) Make egg/tarball (including any release management scripts like updating
docs and other generated files)
1c) Data and configuration could be either included in the package or come as
an installation script and/or SQL scripts and may be (for technical reasons) in
a separate package


Step 2) can be subdivided into:

2a) Set up destination environment on remote host (Ex: ssh host mkdir -p ...)
2b) Transfer code package (Ex: scp package host:destdir)
2c) Transfer data/configuration package/installation script


Step 3) can be subdivided into:

3a) Backup old code, data and configuration
3b) Install code package
3c) Run post-installation script that may:
    - Install new configuration
    - Run database initialization migration script
    - Rebuild caches etc.


I started an tg-admin extension for these tasks, that would read the commands
for the different steps from appropriate sections in the dev.cfg/prod.cfg
files, but I didn't get very far. This gets very complicated, if you want these
commands to be platform-independent. The shell-like tools from Python's
standard library are very basic, unfortunately. Also, running scripts on the
remote host might not be possible with FTP-only access, so you might need a
web interface, or even a web service, to run post-installation steps.
Buildutils [1] might be helpful here too.

Chris

[1] http://buildutils.lesscode.org/

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to