diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7fcd6f506698e3511ea7387051590f85080fcde8..05e08465362f5124fcd92f6ed155fcd877a9f0fa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,6 +19,7 @@ before_script: stages: - test + - deploy ##Test @@ -39,9 +40,22 @@ job_test: - curl -o- -L https://yarnpkg.com/install.sh | bash - export PATH="$HOME/.yarn/bin:$PATH" - yarn install + - yarn encore dev ## Tests - vendor/bin/simple-phpunit --configuration phpunit.xml.dist + +job_deploy: + image: docker:latest + stage: deploy + services: + - docker:dind + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . + - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..0a400a43e09f095354dc4f55d79044343edeaf9d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,45 @@ +# This file is a template, and might need editing before it works on your project. +FROM php:7.4-fpm +RUN apt-get update && apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + git \ + curl \ + unzip \ + && docker-php-ext-configure gd --with-freetype --with-jpeg \ + && docker-php-ext-install -j$(nproc) gd + + +RUN echo "date.timezone=Europe/Paris" > /usr/local/etc/php/conf.d/timezone.ini +RUN echo "opcache.enable_cli=1" > /usr/local/etc/php/conf.d/opcache.ini +RUN echo "opcache.revalidate_freq=500" >> /usr/local/etc/php/conf.d/opcache.ini +RUN echo "opcache.memory_consumption=128" >> /usr/local/etc/php/conf.d/opcache.ini +RUN echo "opcache.interned_strings_buffer=8" >> /usr/local/etc/php/conf.d/opcache.ini +RUN echo "opcache.max_accelerated_files=4000" >> /usr/local/etc/php/conf.d/opcache.ini +RUN echo "opcache.fast_shutdown=1" >> /usr/local/etc/php/conf.d/opcache.ini +RUN rm -f /usr/local/etc/php/conf.d/xdebug.ini + + +WORKDIR /var/www/html +RUN git clone https://gitlab.in2p3.fr/cc-in2p3-dev/TMS tms +RUN ls -lah +WORKDIR /var/www/html/tms/tms + +RUN echo "${env_deploy}" > .env +RUN echo "${env_deploy}" > .env.test +RUN ls -ahl + +RUN curl -sS https://getcomposer.org/installer | php +RUN php composer.phar install + +RUN npm cache clean -f +RUN npm install -g n +RUN n stable +RUN curl -o- -L https://yarnpkg.com/install.sh | bash +RUN export PATH="$HOME/.yarn/bin:$PATH" +RUN yarn install +RUN yarn encore dev + +EXPOSE 8000/tcp +CMD symfony server:start