Conform
DRY, hygienic, fast builds.
Conform is a tool for building projects in a flexible and reliabale manner.
The key features of Conform are:
- DRY: Templatized multi-stage Docker builds.
- Hygienic: Builds run in Docker.
- Fast: Leverages Docker caching, building only what has changed.
Getting Started
Create a file named conform.yaml with the following contents:
metadata:
repository: example
scripts:
init : |
#!/bin/bash
set -e
echo "Initialize any dependencies here."
deploy : |
#!/bin/bash
set -e
echo "Deploy you image here."
templates:
build: |
FROM alpine:latest as build
RUN echo "Run your build here."
RUN touch artifact
test: |
FROM alpine:latest as test
COPY --from=build artifact .
RUN echo "Run your tests here."
image: |
FROM scratch as image
RUN echo "Prepare your final image here."
COPY --from=build artifact .
rules:
image:
before:
- init
templates:
- build
- test
- image
after:
- deploy
In the same directory, run:
$ conform enforce image
License
