build dockers

This commit is contained in:
Mirek Kratochvil 2023-06-14 21:37:57 +02:00
parent 28e147e0b2
commit 6074868276
3 changed files with 62 additions and 1 deletions

42
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,42 @@
image: docker:19.03.0
variables:
# When using dind service, we need to instruct docker, to talk with
# the daemon started inside of the service. The daemon is available
# with a network connection instead of the default
# /var/run/docker.sock socket. docker:19.03.1 does this automatically
# by setting the DOCKER_HOST in
# https://github.com/docker-library/docker/blob/d45051476babc297257df490d22cbd806f1b11e4/19.03.1/docker-entrypoint.sh#L23-L29
#
# The 'docker' hostname is the alias of the service container as described at
# https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#accessing-the-services.
#
# Note that if you're using the Kubernetes executor, the variable
# should be set to tcp://localhost:2376/ because of how the
# Kubernetes executor connects services to the job container
#DOCKER_HOST: tcp://localhost:2376/
#
# When using dind, it's wise to use the overlayfs driver for
# improved performance.
DOCKER_DRIVER: overlay2
# Specify to Docker where to create the certificates, Docker will
# create them automatically on boot, and will create
# `/certs/client` that will be shared between the service and job
# container, thanks to volume mount from config.toml
DOCKER_TLS_CERTDIR: ""
services:
- name: docker:19.03.0-dind
command: ["--mtu=1458"]
build_image:
before_script:
- echo -n $DOCKER_AUTH_TOKEN | docker login -u exaexa --password-stdin $CI_REGISTRY
script:
- docker build -t $CI_REGISTRY_IMAGE .
- docker push $CI_REGISTRY_IMAGE
tags:
- privileged
artifacts:
expire_in: 1 week

19
Dockerfile Normal file
View file

@ -0,0 +1,19 @@
FROM haskell:9.4
WORKDIR /opt/reploy
COPY reploy.cabal cabal.project /opt/reploy/
COPY mustache/ /opt/reploy/mustache/
RUN cabal update
RUN cabal build --only-dependencies
COPY *.hs README.md /opt/reploy/
RUN cabal install
WORKDIR /data
COPY assets /data/assets/
COPY templates /data/templates/
COPY cards /data/cards/
ENTRYPOINT ["cabal", "run", "site", "--"]

View file

@ -1,4 +1,4 @@
name: pagedeploy name: reploy
version: 0.1.0.0 version: 0.1.0.0
build-type: Simple build-type: Simple
cabal-version: >= 1.10 cabal-version: >= 1.10