[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
org-files!
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.
>
> https://www.youtube.com/watch?v=dljNabciEGg
>
> 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.
>
> :PROPERTIES:
> :dir: ~/LambdaIsland/app
> :END:
>
> #+NAME: current-version
> #+BEGIN_SRC sh
> VERSION=`head -1 project.clj | sed
> 's/.defproject.lambdaisland."\(.*\)"/\1/'`
> echo $VERSION
> #+END_SRC
>
> #+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
> scalar
> 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
> #+END_SRC
More information about the emacs-berlin
mailing list