[emacs-berlin] Literate dev-ops
Arthur Leonard Andersen
arthur at andersen.berlin
Wed May 11 12:14:52 UTC 2016
That's awesome! Thanks for hinting me to this video again. It was in my
"watch later" list, but I just forgot.
I did not know about the tower of babel. This will simplify many of my
You tweeted you'd use this to setup your lambdaisland server.
How do you save config files from an org-mode block to the server?
I know for sure I am overlooking something here... but trying to execute
a yaml block just gives me "No org-babel-execute function for yaml".
On Fri, May 06 2016, Arne Brasseur wrote:
> 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.
> :dir: ~/LambdaIsland/app
> #+NAME: current-version
> #+BEGIN_SRC sh
> VERSION=`head -1 project.clj | sed
> echo $VERSION
> #+NAME: build-new-uberjar
> #+BEGIN_SRC sh :var VERSION=current-version :dir /
> ssh:root at lambdaisland.com|sudo:web at lambdaisland.com:/var/web/app :results
> set -e
> git checkout v$VERSION
> /opt/bin/lein uberjar 2>&1
> mkdir /var/web/deploys/v$VERSION
> cp target/lambdaisland.jar /var/web/deploys/v$VERSION
> cp -r resources/public /var/web/deploys/v$VERSION
More information about the emacs-berlin