Flexible automation in Racket
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Wesley Kerfoot 5516dec080 update README 7 years ago
doc handle copying files 7 years ago
scribblings reorganize package 7 years ago
src update with WIP AST/code generator, fix tar mistake 7 years ago
.gitignore update with WIP AST/code generator, fix tar mistake 7 years ago
.travis.yml reorganize package 7 years ago
LICENSE.txt update license 7 years ago
README.md update README 7 years ago
info.rkt reorganize package 7 years ago
main.rkt update with WIP AST/code generator, fix tar mistake 7 years ago

README.md

Bolt

Bolt is an automation DSL, similar to http://fabfile.org

Example:

#! /usr/bin/env racket
#lang racket

(require "src/bolt.rkt")

; This is based on an entry in ~/.ssh/config
(define metaverse
    (remote
    #:host "hostname"
    #:user "alice"
    #:key "/home/alice/.ssh/id_rsa.key"))

(define (deploy)
  (with-host metaverse
    (with-shell-vars
      (["FOO" "BAR"])
      (become "alice"
      (copy-dir "../myode" "/home/alice/mycode")

      (with-cwd "/home/alice/mycode"

        (become "root"
          (exec "pip install pipenv"))

        (with-cwd "project"
          (exec "pipenv install")))))))
(deploy)