Skip to content

weskerfoot/Bolt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bolt

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

It runs tasks concurrently. It is currently only experimental but can be used for basic tasks.

Installation

git clone git@github.com:weskerfoot/Bolt.git
raco pkg install ./bolt

Example:

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

(require bolt)

; 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 "../mycode" "/home/alice/mycode")

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

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

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

About

Flexible automation in Racket

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages