[emacs-berlin] Literate dev-ops
arne.brasseur at gmail.com
Fri May 6 14:11:09 UTC 2016
I came across this video of someone using org-mode to do "devops" stuff
(i.e. server maintenance).
It's really good, I'm already using a lot of the ideas in it.
The main idea is that org + org-babel + tramp == solid gold.
- Use tramp syntax to link to common configuration files on the server, so
you can open them instantly with C-c C-o
- Make sh code snippets with :dir set to a tramp string and you can have it
execute on the server. You can also configure this for a group of snippets
under the same heading with a :dir: property.
- When these snippets grow into their own thing you can "tangle" them to a
file, including a remote file
e.g. this is an example of part of my org file that I'm using to deploy new
versions of a Clojure app.
VERSION=`head -1 project.clj | sed
#+BEGIN_SRC sh :var VERSION=current-version :dir /
ssh:root at lambdaisland.com|sudo:web at lambdaisland.com:/var/web/app :results
git checkout v$VERSION
/opt/bin/lein uberjar 2>&1
cp target/lambdaisland.jar /var/web/deploys/v$VERSION
cp -r resources/public /var/web/deploys/v$VERSION
@plexus <https://twitter.com/plexus> | arnebrasseur.net
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the emacs-berlin