This project allows to run automation client via the deployment of a sidecar that handles build, test, and deploy of the monitored automation client project.
$ docker run -it --rm -e GITHUB_TOKEN=<your github token> \
-e ATOMIST_TEAM=<your atomist team id> \
-e OWNER=atomisthqa \
-e REPOSITORY=lifecycle-automation \
-e UPDATE_POLICY=push \
-e BRANCH=master \
atomist/automation-client-sidecar
This will create a new automation client for every push to the
repository atomisthqa/lifecycle-automation
. Once the new version has
been started successfully, the previous version is gracefully stopped.
Possible UPDATE_POLICY
values are: push
, tag
and release
giving you flexibility to decide when to update your automation
client. tag
and/or release
are more suited for production/stable
environments; push
is good for connecting to a staging or testing
environment.
The GITHUB_TOKEN
must have the following scopes:
read:org
to validate your credentials to start a client for the given Atomist teamrepo
to create GitHub statuses and tags on the monitored repositorygist
to upload GitHub gists for build and test logsread:user
to read your user details to create a Git taguser:email
to read your email to create a Git tag
General support questions should be discussed in the #support
channel on our community Slack team
at atomist-community.slack.com.
If you find a problem, please create an issue.
If you are interested in contributing to the Atomist open source projects, please see our contributing guidelines and our code of conduct.
You will need to have Node.js installed. To verify that the right versions are installed, please run:
$ node -v
v8.4.0
$ npm -v
5.4.1
Command | Reason |
---|---|
npm install |
to install all the required packages |
npm run build |
lint, compile, and test |
npm start |
to start the Atomist automation client |
npm run autostart |
run the client, refreshing when files change |
npm run lint |
to run tslint against the TypeScript |
npm run compile |
to compile all TypeScript into JavaScript |
npm test |
to run tests and ensure everything is working |
npm run autotest |
run tests continuously |
npm run clean |
remove stray compiled JavaScript files and build directory |
To create a new release of the project, update the version in
package.json and then push a tag for the version. The version must be
of the form M.N.P
where M
, N
, and P
are integers that form the
next appropriate semantic version for release. The version
in the package.json must be the same as the tag. For example:
$ npm version 1.2.3
$ git tag -a -m 'The ABC release' 1.2.3
$ git push origin 1.2.3
The Travis CI build (see badge at the top of this page) will publish the NPM module and automatically create a GitHub release using the tag name for the release and the comment provided on the annotated tag as the contents of the release notes.
Created by Atomist. Need Help? Join our Slack team.