Atomist software delivery machine for demo projects.
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.
GeneratorCommand: Project Creation from seed
To create a project from seed use
create spring in a DM with the atomist bot. Go through the
creation and click the button to create a linked channel.
Notice that repo gets tagged automatically by the SDM.
CodeTransform: Add Dockerfile
When joining the newly created and linked channel, you'll see a button called
Clicking this button with run a
CodeTransform and push to a new branch. When the build on this branch
succeeds, a PR will be created. Once the goal set finishes successfully, the PR will get merged automatically.
This is a build-aware CodeTransform with an auto-merge PR.
CodeInspection: Import java.io.File
Edit any Java source in your repo and add an import for
import java.io.File;. This will be flagged in the
Cloud Native code inspection. Notice the newly created issue for this violation.
Once you remove the import again, the created issue gets closed and the body updated.
Autofix: Add @Autowired to a constructor
Edit the Application class and add the
@ComponentScan annotation to the class. Don't forget to also add the import
The autofix will remove the unnecessary annotation.
Deployment: Deploy to k8
Once the Dockerfile PR is merged into master, the app will get deployed to our demo cluster. It will go straight to
testing namespace. Click the link next to the goal to navigate to the running app.
Deployment to production can get triggered by starting the
deploy to production goal.
On successful deploy to production, the version in the
pom.xml will get incremented too.
Env-based Issue Labels
Make sure to deploy your service at least once to the env, before running this demo.
Create a new issue in the your repo; make a commit referencing the issue with
fixes #1 in your commit message.
Let the build complete and see the app getting deployed to the
testing namespace. Once it is running, a new label
env:gke-int-demo:testing should be added to your issue.
See the Developer Quick Start to jump straight to creating an SDM.
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.