an Atomist SDM to deliver Clojure projects
Last updated 22 days ago by atomist .
Apache-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @atomist/atomist-internal-sdm 
SYNC missed versions from official npm registry.


atomist sdm goals npm version

The Atomist software delivery machine (SDM) for delivering internal Atomist services.

See the Atomist documentation for more information on what SDMs are and what they can do for you using the Atomist API for software.

Push Rules and Goals



See the Atomist Developer documentation for instructions on setting up your development environment. Briefly, you will need Git, Node.js, and the Atomist CLI installed and properly configured on your system. For this specific SDM, you will also need Java installed. With these installed, you can run this SDM in local mode.

To run this SDM for your team, you will need an Atomist workspace. See the Atomist Getting Started Guide for instructions on how to get an Atomist workspace and connect it to your source code repositories, continuous integration, chat platform, etc.

How we deliver

Push Rules

  • supports the concept of some projects only configuring goals for certain workspaces (workspace white-listing)
  • we skip most npm projects unless explicitly configured to add them
  • "No material change" - we have specific rules for detecting no material change on clojure projects
  • "Build a project with lein and npm parts" - we support setting goals across Leiningen and Npm when they're both present
  • "Build a Clojure Service with Leiningen" - Leiningen and Docker on the master branch
  • Leiningen and Docker not on the master branch skips kubernetes
  • "Build a Clojure Library with Leiningen" - Leiningen libraries on the master branch automatically publish
  • Leiningen libraries on other branches do not publish
  • "Simple node based docker service" - Node.js services with docker containers automatically update k8 specs on master branch
  • Non-master branch Node services do not update k8 specs


  1. LeinSupport - Goals for our leiningen projects
  2. fingerprintSupport - we use Fingerprints to manage shared traits like leiningen and npm dependencies
  3. goalScheduling, goalState, and githubGoalStatus are enabled

Events and Ingestors

  • PodDeployments - we have a custom ingestion for new PodDeployments
  • HandleRunningPods - we have a custom event handler for the above ingestion


  • "kick service" - does nothing
  • "make some noise" - generates some Pushes on Repos
  • "testinate" - run platform integration tests
  • "update spec" - update a k8 spec to rollback a change
  • "enable deploy"
  • "disable deploy"


  • NodeDockerBuild - our assumptions for dockerizing simple Node.js builds
  • neoApolloDockerBuild - some additional rules for
  • deployToStaging - goal without approval
  • deployToProd - goal with approval


  • docker-base-image
  • elk-logback
  • leiningen dependencies
  • public defn bodies


See the Atomist Developer documentation for details on how to run this SDM. Briefly, once the prerequisites are met on your system you can start the SDM in local mode with the following command:

$ atomist start --local

The Atomist documentation for running SDMs has instructions for connecting and SDM to the Atomist API for software and running an SDM in various environments.


General support questions should be discussed in the #support channel in the Atomist community Slack workspace.

If you find a problem, please create an issue.


You will need to install Node.js to build and test this project.

Build and test

Install dependencies.

$ npm install

Use the build package script to compile, test, lint, and build the documentation.

$ npm run build


Releases are handled via the Atomist SDM. Just press the 'Approve' button in the Atomist dashboard or Slack.

Created by Atomist. Need Help? Join our Slack workspace.

Current Tags

378 Versions

Maintainers (1)
Today 0
This Week 378
This Month 378
Last Day 0
Last Week 0
Last Month 5,021
Dependencies (25)
Dev Dependencies (21)
Dependents (0)

Copyright 2014 - 2017 © taobao.org |