image: php:7.4 stages: - service_build - node - building_assets - database - unit_test - acceptance_test - code_quality # Variables variables: MYSQL_ROOT_PASSWORD: root MYSQL_USER: mysql_password MYSQL_PASSWORD: mysql_password MYSQL_DATABASE: shpping_portal DB_HOST: mysql before_script: - apt-get update -yqq - apt-get install -yqq - apt-get install -y libonig-dev - apt-get install -y libxml2-dev - apt-get install -y libzip-dev - apt-get install -y libgd-dev - apt-get install -y libgd-dev # Install PDO MySQL extension - docker-php-ext-install pdo_mysql #install php dependencies - docker-php-ext-install mbstring xml zip gd # Install composer package manager - curl --location --output /usr/local/bin/composer https://getcomposer.org/download/latest-stable/composer.phar - chmod +x /usr/local/bin/composer # Install MySQL client - apt-get install -y default-mysql-client #install node js - apt-get update && apt-get install -y nodejs npm #install gulp Js - npm install -g gulp-cli #jobs #buld the backend composer_php: stage: service_build script: - composer install - cp .env.example .env - php artisan key:generate rules: - when: never # rules: # - if: '$CI_COMMIT_BRANCH =~ /.*/' #build the UI #node installation npm: stage: node script: - npm install # Install npm dependencies rules: - when: never # rules: # - if: '$CI_COMMIT_BRANCH =~ /.*/' #building assets building_assets: stage: building_assets # dependencies: # - npm script: - npm install # Install npm dependencies - gulp build # Build assets rules: - when: never # rules: # - if: '$CI_COMMIT_BRANCH =~ /.*/' #mysql database: stage: database services: - name: mysql:8.0 command: [ "--default-authentication-plugin=mysql_native_password" ] #dependencies: # - composer_php script: - composer install - cp .env.example .env - php artisan key:generate - php artisan migrate:fresh - php artisan db:seed rules: - when: never # rules: # - if: '$CI_COMMIT_BRANCH =~ /.*/' #mysql #unit_test: # stage: unit_test # services: # - name: mysql:8.0 # command: [ "--default-authentication-plugin=mysql_native_password" ] #dependencies: # - database # script: # - npm install # Install npm dependencies # - gulp build # Build assets # - composer install # - cp .env.example .env # - php artisan key:generate # - php artisan migrate:fresh # - php artisan db:seed # - php artisan test # rules: # - if: '$CI_COMMIT_BRANCH =~ /.*/'