mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
121 lines
2.5 KiB
YAML
121 lines
2.5 KiB
YAML
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:
|
|
- if: '$CI_COMMIT_BRANCH =~ /.*/'
|
|
|
|
#build the UI
|
|
#node installation
|
|
npm:
|
|
stage: node
|
|
script:
|
|
- npm install # Install npm dependencies
|
|
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:
|
|
- 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:
|
|
- 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 =~ /.*/'
|
|
|
|
|
|
|
|
|