CI Docker which builds docker images.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
In order to develop / test, you need the following tools installed:
- Docker
# Build the Docker locally
# -- see output how to run this Docker on your machine
$ make image
# Push Docker to the Docker Registry
$ make push
Use the Docker image in your CI tooling - you need to specify the following as part of your build:
release-manifest.json
- defines the set of artefacts to be included in the release.
A release consists of a name, version, type (full or update), description and a list of artefacts:
{
"name": "my-release",
"version": "x.y.z",
"type": "full",
"description": "Adds features a, b, c.",
"platform": "openshift",
"artefacts": {
"artefact": [
{
"name": "my-web-app",
"version": "x.y.z"
},
{
"name": "my-service-1",
"version": "x.y.z"
},
{
"name": "my-service-2",
"version": "x.y.z"
}
]
}
}
Just copy the YAML into your build definition:
jobs:
# Validate the downloaded release
deploy_release:
docker:
- image: rdclda/ci-docker-build
working_directory: ~/release
steps:
- attach_workspace:
# Must be absolute path or relative path from working_directory
at: ~/release
# Retrieve the artefacts
- run:
name: Validate the artefacts
command: |
validate-release \
--source=./artefacts \
--manifest=./artefacts/release-manifest.json
...and enable to export step in the overall flow:
# TODO
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Robin Huiser - Initial work - robinhuiser
See also the list of contributors who participated in this project.
This project is licensed under the Apache License - see the LICENSE file for details