Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Clojars Project

deps-deploy

A Clojure library to deploy your stuff to clojars with clj or clojure. It's a very thin wrapper around Chas Emericks pomegranate library.

It will read your Clojars username/token from the environment variables CLOJARS_USERNAME and CLOJARS_PASSWORD, and it will get your artifact-name and version from the pom.xml

Usage

To deploy to Clojars, simply merge

{:deploy {:extra-deps {slipset/deps-deploy {:mvn/version "RELEASE"}}
          :exec-fn deps-deploy.deps-deploy/deploy
          :exec-args {:installer :remote
                       :sign-releases? true
                       :artifact "deps-deploy.jar"}}}

into your deps.edn, have a pom.xml handy (you can generate one with clj -Spom), and deploy with

$ env CLOJARS_USERNAME=username CLOJARS_PASSWORD=clojars-token clj -X:deploy

to deploy to Clojars.

It is also possible to override the default Clojars URL by supplying your own. For example:

$ env CLOJARS_URL=https://internal/repository/maven-releases CLOJARS_USERNAME=username CLOJARS_PASSWORD=password clj -A:deploy

This facilitates deploying artefacts to an internal repository - perhaps a proxy service that is running locally that is used to hold private JARs etc...

Deploy to private s3 buckets

To deploy to private s3 buckets, you first need to specify the :repository key in your deps.edn alias with :exec-args as:

:exec-args {:repository {"releases" {:url "s3p://my/bucket/"}}}

Then, when deploying, you need to provide credentials which is done either by:

  1. setting the env vars: AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY

  2. providing them via java system properties aws.accessKeyId and aws.secretKey or

  3. via an AWS credential profile, in the file ~/.aws/credentials with the AWS_PROIFLE env var used to specify which profile to use (or the [default] profile).

[default]
aws_access_key_id = AKIAXXXXX
aws_secret_access_key = SECRET_KEY

For more details see s3-wagon-provider and if you need to know how to configure an S3 bucket see here.

A note on Clojars tokens

As of 2020-06-27, Clojars will no longer accept your Clojars password when deploying. You will have to use a token instead. Please read more about this here

Long story short, just go find yourself a token and use it in lieu of your password and you're done.

Install locally

deps-deploy also supports installing to your local .m2 repo, by invoking install instead of deploy:

{:install {:extra-deps {slipset/deps-deploy {:mvn/version "RELEASE"}}
           :exec-args {:installer :local
                        :artifact "deps-deploy.jar"}}

Signing

If you want to have your artifacts signed, add "true" as the last element of the :main-opts vector like so:

:main-opts ["-m" "deps-deploy.deps-deploy" "install"
			   "path/to/my.jar" "true"]

License

Copyright © 2018-2021 Erik Assum

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

About

deploy your stuff

Resources

License

Releases

No releases published

Packages

No packages published