A very simple plugin that I wrote today that we're using in our approach to
continuous integration and deployment at Draker. Enjoy! Comments, feedback,
issues, or pull requests are welcome... --Rob lein-deploy-app

A Leiningen plugin to push application uberjars to an AWS s3 bucket,
organized by application and branch.

This plugin is similar to s3-wagon in that you configure your project to
deploy to s3, but whereas "lein deploy" is for deploying libs,
lein-deploy-app is for deploying app uberjars and does not store the
uberjars in a Maven repo (as lein-deploy-uberjar does).

A workflow involving lein-deploy-app might involve a ci server or an
engineer calling lein deploy-app. Then an operations automation framework
like Chef can easily pull down the appropriate application, version, and
branch in a staging or production environment.
<https://github.com/drakerlabs/lein-deploy-app#usage>Usage

   1.

   Put [lein-deploy-app "0.1.0"] into the :plugins vector of your
   project.clj.
   2.

   Add a project.clj configuration mapping for deploy-app:

   :deploy-app {:s3-bucket "s3p://mybucket/releases/"
                :creds :env}


:s3-bucket is the bucket/path where you want to deploy your uberjars.

:creds is the credentials type. Presently only :env is supported. If using
:env, specify your s3 credentials using the environment variables
LEIN_USERNAME and LEIN_PASSWORD.

To deploy your application's uberjar to s3 for the current git branch:

  $ lein deploy-app

To specify some other label instead of current git branch as "branch":

  $ lein deploy-app --branch <NAME>

<https://github.com/drakerlabs/lein-deploy-app#to-do>To
Do<https://github.com/drakerlabs/lein-deploy-app#gpg-credentials-option>:gpg
credentials option

If using :gpg, create a gpg encrypted ~/.lein/credentials.clj.gpg file out
of a credentials.clj file of the following form:

{"s3p://mybucket/releases/" {:username "usernamegoeshere"
                             :passphrase "passphrasegoeshere"}}

<https://github.com/drakerlabs/lein-deploy-app#license>License

Author: Robert Levy / @rplevy-draker

Copyright © 2012 Draker, Inc.

Distributed under the Eclipse Public License, the same as Clojure.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to