This is Dropcat

Deliver a simple static site

The example I have here is this documentation. Which is static HTML created from markdown. The site is in the folder _site in the root folder.


Dropcat file

First create a basic (prod environment) in .dropcat folder:


In that file put your ssh-login detalis plus path to publish site to like:

app_name: mysite
    server: some.server.ip
    ssh_user: some.user
    ssh_port: 22
    web_root: /var/www
    alias: mysite_latest_prod
    identity_file: /path/to/my/rsa/private/key
    ssh_key_password: pass

Delivery bash script

In your project root folder, create a folder called .delivery. In that folder create a file called, on first and only line add the number 1.


In the root folder create at script called

# simple site deliver script with dropcat
number_file=".deliver/" #the file where you keep your number of the delivery
number=$(cat "$number_file")

export BUILD_DATE="$(date +"%Y%m%d")"
export BUILD_NUMBER="$number"
export DROPCAT_ENV=prod

dropcat tar --folder="$PWD/_site"
dropcat upload
dropcat move

# next number to use for delivery
next=$(expr $number + 1)
# write the number to the file
echo $next > "$number_file"

The script will add +1 to the number in so each deliver will get a new number.

The delivered folder is placed in /var/www defined in the [remote][environment][web_root] in the