CLJ Deploy
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
- Researched signing requests in Clojure
- Found jasny/php-pubkey to guide the server side system
- Drafted the library in Clojure
- Created unit tests
- Refined the library for release
Discoveries
- Learned how to get the current time since the epoch using
(System/currentTimeMillis)
- Learned how to create a pretty solid signed request token
- Dusted off my PHP skills; just like riding a bike