initial docker image builds

This commit is contained in:
Diego Lendoiro 2019-04-13 18:28:10 +02:00
parent a83b2cd5f4
commit eebb5a582c
3 changed files with 52 additions and 8 deletions

11
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,11 @@
image: alpine:latest
variables:
DOCKER_DRIVER: overlay2
stages:
- build
include:
- template: '/.gitlab-ci/Jobs/build_image.yml'

View File

@ -0,0 +1,30 @@
.build-template:
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- |
/kaniko/executor --context $CI_PROJECT_DIR \
--build-arg PASSBOLT_URL="$PASSBOLT_URL" \
--build-arg PHP_EXTENSIONS="$PHP_EXTENSIONS" \
--build-arg PASSBOLT_BASE_PACKAGES="$PASSBOLT_BASE_PACKAGES" \
--build-arg PASSBOLT_DEV_PACKAGES="$PASSBOLT_DEV_PACKAGES" \
--dockerfile $CI_PROJECT_DIR/Dockerfile \
--destination $CI_REGISTRY_IMAGE:$PASSBOLT_FLAVOUR-$CI_COMMIT_TAG
passbolt-ce-prerelease:
extends: .build-template
variables:
PHP_EXTENSIONS: "gnupg redis mcrypt"
PASSBOLT_BASE_PACKAGES: "nginx gnupg libgpgme11 libmcrypt4 mysql-client supervisor cron"
PASSBOLT_DEV_PACKAGES: "libpng-dev libjpeg62-turbo-dev libicu-dev libxslt1-dev libmcrypt-dev unzip git"
PASSBOLT_FLAVOUR: "passbolt-ce"
passbolt-pro-prerelease:
extends: .build-template
variables:
PHP_EXTENSIONS: "gnupg redis mcrypt ldap"
PASSBOLT_BASE_PACKAGES: "nginx gnupg libgpgme11 libmcrypt4 mysql-client supervisor cron"
PASSBOLT_DEV_PACKAGES: "libldap2-dev libpng-dev libjpeg62-turbo-dev libicu-dev libxslt1-dev libmcrypt-dev unzip git"
PASSBOLT_FLAVOUR: "passbolt-pro"

View File

@ -24,19 +24,22 @@ ARG PASSBOLT_DEV_PACKAGES="libgpgme11-dev \
unzip \
git"
ENV PECL_BASE_URL="https://pecl.php.net/get"
ENV PHP_EXT_DIR="/usr/src/php/ext"
WORKDIR /var/www/passbolt
RUN apt-get update \
&& apt-get -y install --no-install-recommends $PASSBOLT_DEV_PACKAGES \
nginx \
ARG PASSBOLT_BASE_PACKAGES="nginx \
gnupg \
libgpgme11 \
libmcrypt4 \
mysql-client \
supervisor \
cron \
cron"
ENV PECL_BASE_URL="https://pecl.php.net/get"
ENV PHP_EXT_DIR="/usr/src/php/ext"
WORKDIR /var/www/passbolt
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
$PASSBOLT_DEV_PACKAGES \
$PASSBOLT_BASE_PACKAGES \
&& mkdir /home/www-data \
&& chown -R www-data:www-data /home/www-data \
&& usermod -d /home/www-data www-data \