ci_docker_install.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/bash
  2. # Setup a php:8.2.1-fpm docker image
  3. # We need to install dependencies only for Docker
  4. [[ ! -e /.dockerenv ]] && exit 0
  5. # Quit on error
  6. set -xe
  7. # Install packages
  8. apt-get update
  9. apt-get install -yqq --fix-missing apt-utils gnupg git build-essential openssh-client zip
  10. apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E9C74FEEA2098A6E
  11. echo "deb https://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
  12. echo "deb-src https://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
  13. apt-get update
  14. apt-get install -yqq --fix-missing --no-install-recommends unzip zlib1g-dev libicu-dev g++ \
  15. libzip-dev libpng-dev libtidy-dev libssl-dev \
  16. libxslt-dev libxrender-dev libxrender1 libxt6 libxtst6 openssh-server \
  17. xorg iputils-ping wget gdebi ca-certificates wget \
  18. fontconfig acl procps libmagickwand-dev imagemagick
  19. apt-get clean
  20. rm -r /var/lib/apt/lists/*
  21. # Configure docker
  22. #docker-php-ext-configure intl
  23. #docker-php-ext-install intl opcache pdo_mysql exif bcmath calendar gd tidy
  24. #docker-php-ext-enable libxslt-dev
  25. #docker-php-ext-enable intl
  26. #docker-php-ext-enable exif
  27. #docker-php-ext-enable tidy
  28. #docker-php-ext-install zip
  29. #docker-php-ext-install xsl
  30. #pecl install apcu-5.1.21
  31. # Install XDebug (required for coverage)
  32. pecl install xdebug
  33. docker-php-ext-enable xdebug
  34. # Run ssh-agent and add private key (/!\ Attention: la configuration du SSH est indispensable pour pouvoir cloner notre repo foselastica)
  35. eval $(ssh-agent -s)
  36. mkdir -p ~/.ssh
  37. chmod 700 ~/.ssh
  38. echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
  39. ssh-add <(echo "$SSH_PRIVATE_KEY")
  40. git config --global user.email "exploitation@opentalent.fr"
  41. git config --global user.name "git"
  42. # Install composer
  43. curl -sS https://composer.github.io/installer.sig > installer.sig
  44. php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  45. php -r "if (hash_file('SHA384', 'composer-setup.php') === file_get_contents('installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
  46. php composer-setup.php
  47. php -r "unlink('composer-setup.php'); unlink('installer.sig');"
  48. # Install modules
  49. php composer.phar install --no-interaction --ignore-platform-reqs