Skip to content
Snippets Groups Projects
Commit a18226c6 authored by Reiter, Christoph's avatar Reiter, Christoph :snake:
Browse files

Add a standalone docker image for gitlab CI testing

Otherwise this depends on the core bundle image and we don't want that image
to become public API.
parent 40a5320c
No related branches found
No related tags found
No related merge requests found
Pipeline #20686 passed
image: registry.gitlab.tugraz.at/dbp/middleware/dbp-api/api-core-bundle/main:v1 image: registry.gitlab.tugraz.at/dbp/middleware/dbp-api/api-server-template/main:v1
before_script: before_script:
- 'git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.tugraz.at/".insteadOf "git@gitlab.tugraz.at:"' - 'git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.tugraz.at/".insteadOf "git@gitlab.tugraz.at:"'
......
FROM debian:buster
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND noninteractive
# Basics
RUN apt-get update && apt-get install -y \
composer \
php-zip \
rsync \
sudo \
wget \
curl \
lsb-release \
&& rm -rf /var/lib/apt/lists/*
# PHP Repo
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
RUN echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
# PHP 7.3
RUN apt-get update && apt-get install -y \
php7.3 \
php7.3-curl \
php7.3-soap \
php7.3-xml \
php7.3-ldap \
php7.3-zip \
php7.3-gmp \
php7.3-xdebug \
php7.3-mbstring \
&& rm -rf /var/lib/apt/lists/*
COPY ./php-ini-overrides.ini /etc/php/7.3/cli/conf.d/
# PHP 7.4
RUN apt-get update && apt-get install -y \
php7.4 \
php7.4-curl \
php7.4-soap \
php7.4-xml \
php7.4-ldap \
php7.4-zip \
php7.4-gmp \
php7.4-xdebug \
php7.4-mbstring \
&& rm -rf /var/lib/apt/lists/*
COPY ./php-ini-overrides.ini /etc/php/7.4/cli/conf.d/
# PHP 8.0
# FIXME: php8.0-xdebug not installed because it leads to segfaults
# https://gitlab.tugraz.at/dbp/middleware/api/-/issues/65#note_21039
RUN apt-get update && apt-get install -y \
php8.0 \
php8.0-curl \
php8.0-soap \
php8.0-xml \
php8.0-ldap \
php8.0-zip \
php8.0-gmp \
php8.0-mbstring \
&& rm -rf /var/lib/apt/lists/*
COPY ./php-ini-overrides.ini /etc/php/8.0/cli/conf.d/
# Default to PHP 7.3
RUN sudo update-alternatives --set php /usr/bin/php7.3
RUN sudo update-alternatives --set phar /usr/bin/phar7.3
RUN sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.3
# Add a normal user and enable sudo
RUN useradd -u 1000 -ms /bin/bash user
RUN echo 'user ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER user
# Install a newer composer
RUN mkdir -p /home/user/.local/bin
WORKDIR /home/user/.local/bin
RUN wget https://raw.githubusercontent.com/composer/getcomposer.org/bfd95e2a4383ee9cf7c058c2df29d7acb5f86d77/web/installer -O - -q | php --
RUN mv composer.phar composer
ENV PATH "/home/user/.local/bin:$PATH"
WORKDIR /home/user
\ No newline at end of file
* In case of an incompatible change increase the tag version number in build.sh
* ./build.sh
* (first time) sudo docker login registry.gitlab.tugraz.at
* sudo docker push registry.gitlab.tugraz.at/dbp/middleware/dbp-api/api-server-template/main:v1
\ No newline at end of file
#!/bin/bash
set -e
TAG="registry.gitlab.tugraz.at/dbp/middleware/dbp-api/api-server-template/main:v1"
sudo docker build --tag "${TAG}" --file "Dockerfile" .
sudo docker run --rm --security-opt label=disable \
--volume "$(pwd)/..:/home/user/app" --workdir "/home/user/app" \
--tty --interactive "${TAG}" bash
echo "Now run: sudo docker push '$TAG'"
zend.assertions = 1
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment