now generating Dockerfiles from blueprint

This commit is contained in:
Julien Neuhart
2018-04-06 15:13:28 +02:00
parent 6594f41927
commit ee44f09212
2 changed files with 54 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
FROM {{ if eq "TESTS" .Orbit.Image }}golang:1.10-stretch{{ else }}debian:stretch-slim{{ end }}
LABEL authors="Julien Neuhart <j.neuhart@thecodingmachine.com>"
# |--------------------------------------------------------------------------
# | Libraries
# |--------------------------------------------------------------------------
# |
# | Installs all required libraries.
# |
RUN echo "deb http://httpredir.debian.org/debian/ stretch main contrib non-free" > /etc/apt/sources.list &&\
apt-get update &&\
apt-get install -y xvfb wkhtmltopdf pdftk unoconv ttf-mscorefonts-installer &&\
ln -s /usr/bin/xvfb-run /usr/local/bin/xvfb-run &&\
ln -s /usr/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf &&\
ln -s /usr/bin/pdftk /usr/local/bin/pdftk &&\
ln -s /usr/bin/unoconv /usr/local/bin/unoconv
# |--------------------------------------------------------------------------
# | Gotenberg
# |--------------------------------------------------------------------------
# |
# | All Gotenberg related stuff.
# |
{{- if eq "TESTS" .Orbit.Image }}
WORKDIR /go/src/github.com/thecodingmachine/gotenberg
# Installs lint dependencies.
RUN go get -u gopkg.in/alecthomas/gometalinter.v2 &&\
gometalinter.v2 --install
# Copies our Go source.
COPY . .
# Installs project dependencies.
RUN go get -d -v ./...
ENTRYPOINT ["_ci/docker-entrypoint.sh"]
{{- else }}
COPY gotenberg /usr/bin/gotenberg
RUN ln -s /usr/bin/gotenberg /usr/local/bin/gotenberg
WORKDIR /gotenberg
COPY gotenberg.yml /gotenberg/gotenberg.yml
EXPOSE 3000
CMD ["gotenberg"]
{{- end }}

View File

@@ -9,6 +9,8 @@ tasks:
short: Generates all files from blueprints
run:
- BRANCH="$(git symbolic-ref --short HEAD)"; orbit generate -f _blueprints/README.blueprint.md -o README.md -p "Branch,${BRANCH}"
- orbit generate -f _blueprints/Dockerfile.blueprint -o Dockerfile.tests -p "Image,TESTS"
- orbit generate -f _blueprints/Dockerfile.blueprint -o Dockerfile -p "Image,BUILD"
- use: tests
short: Runs tests inside a container