Deploying Updates
Deploying updates to CafeSpot is incredibly easy thanks to Common Lisp and the darcs version control system.
The process begins on my laptop in either the primary development repository, or a copy if the primary contains changes that are not ready for release. Darcs' decentralized design encourages temporary branching such as this and provides easy bidirectional merging between branches. After local testing the changes are recorded and sent to the server via the darcs push command which copies and applies patches over SSH.
Once patches have been pushed to the server all that is left is to load the changes into the running lisp process. This is done with asdf which manages dependencies; compiling and loading the updated files as necessary. I simply type
The process begins on my laptop in either the primary development repository, or a copy if the primary contains changes that are not ready for release. Darcs' decentralized design encourages temporary branching such as this and provides easy bidirectional merging between branches. After local testing the changes are recorded and sent to the server via the darcs push command which copies and applies patches over SSH.
Once patches have been pushed to the server all that is left is to load the changes into the running lisp process. This is done with asdf which manages dependencies; compiling and loading the updated files as necessary. I simply type
(asdf:oos 'asdf:load-op :cafespot) at the CL-USER> prompt and voila, done! No down-time required, the current cafespot.net lisp process has been quietly humming along for over two months and many updates.

0 Comments:
<< Home