Teaser image of CLJ Deploy

CLJ Deploy

eccentric-j/clj-deploy
  • clojure

A Clojure library to make simple, secure deploy requests to remote servers.

Goal

After feeling spoiled with more modern cloud hosting solutions and continuous delivery, I wanted to provide a seamless experience to deploy sites on shared hosting environments. Used in conjunction with clj-sign clj-deploy provides an API to send openssl key pair signed deploy requests to any type of server. This way I can use clj to develop but publish to a PHP server on a host like Bluehost without any hassle of using SFTP to upload files.

An example of a reusable PHP server that works with this library is available at eccentric-j/php-deployer.

Process

  1. Researched signing requests in Clojure
  2. Found jasny/php-pubkey to guide the server side system
  3. Drafted the library in Clojure
  4. Created unit tests
  5. Refined the library for release

Discoveries

  1. Learned how to get the current time since the epoch using (System/currentTimeMillis)
  2. Learned how to create a pretty solid signed request token
  3. Dusted off my PHP skills; just like riding a bike