This repository is the home of very small sample Atomist Software Delivery Machines.
Each TypeScript file in
/lib showcases a certain feature of the SDM
framework and the Atomist platform.
Software delivery machines enable you to control your delivery process in code. Think of it as an API for your software delivery. See the Atomist documentation for more information on the concept of a software delivery machine and how to create and develop an SDM.
Here is a list of all the samples in this repository:
||Demonstrates a "hello world" command handler||command|
||Demonstrates using menus in chat||command, parameters|
||Demonstrates a command handler with parameters||command, parameters|
||Demonstrates a command handler that sets and deletes SDM preferences||command, preferences|
||Demonstrates using promptFor to acquire parameters||command, parameters|
||Demonstrates a command handler that is protected by a security check||command, parameters|
||Demonstrates a command handler with secrets||command, parameters|
||SDM to create a new Spring Boot project showing how to invoke a generator from a command||generator, sdm|
||SDM to create a new Spring Boot project showing how to invoke a generator from a job||generator, job, sdm|
||SDM to create a new Spring Boot project showing promptFor from generators||generator, sdm|
||Shows how to use the Autofix goal||autofix, goal|
||Demonstrates how to create a first custom goal||goal|
||SDM to demonstrate custom goal approval voting||sdm, vote|
||SDM that uses goal caching.||cache, node, sdm|
||SDM that uses containers to build projects.||container, sdm|
||SDM that uses containers to build projects against multiple versions of Node.||container, node, sdm|
||SDM that uses containers to build projects against multiple versions of Node and Maven.||container, maven, node, sdm|
||SDM that uses containers to build Node.js project and their Docker images.||container, docker, kaniko, node, sdm|
||SDM that uses containers with callback to set Docker image name.||callback, container, docker, kaniko, node, sdm|
||SDM that uses containers with volumes to provide Docker credentials.||callback, container, docker, kaniko, node, sdm, volumes|
||SDM that uses container and non-container goals.||container, sdm|
||SDM to create and build .NET Core projects||dotnet-core, generator, sdm|
||SDM to demonstrate how to run and converge Jenkins jobs||jenkins, maven, sdm|
||SDM to create and build Maven projects||generator, maven, sdm|
||Shows a code transform that adds a license ile into the repository||transform|
Refer to the following section on how to run any of those samples from your own machine.
Before you can run any of the samples from this repository you need to install the Atomist CLI. Please follow Developer Quick Start to set up your environment.
Starting a Sample
Once the Atomist CLI is installed, you run any of the examples by simply typing the following into your terminal:
$ atomist start --repository-url=https://github.com/atomist/samples.git
This command will start a selection menu from which you can select one of the available samples to start.
Alternatively you can also start a sample directly by running:
$ atomist start --repository-url=https://github.com/atomist/samples.git --index=<SAMPLE>
Running this command requires you replace the placeholder
with a name of one of the sample SDM programs in the root of this repository.
If you feel like changing some of the samples, you can also clone or fork this repository and then run the samples with:
$ atomist start
Code of conduct
General support questions should be discussed in the
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
$ npm install
build package script to compile, test, lint, and build the
$ npm run build
Releases are handled via the Atomist SDM. Just press the 'Approve' button in the Atomist dashboard or Slack.