Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.11 KiB
Newer Older
Tibo's avatar
Tibo committed
stages:
  - test
  - deploy

Tibo's avatar
Tibo committed
## Cache composer packages between all jobs and all branches
## of this project...
cache:
  key: one-key-to-rull-them-all
  paths:
    - composer-cache/

Tibo's avatar
Tibo committed

# Test with PHP7.2 
test:php72:
Tibo's avatar
Tibo committed
  stage: test
Tibo's avatar
Tibo committed
  image: cylab/php72
  services:
    - mongo
Tibo's avatar
Tibo committed
  before_script:
    # Install all project dependencies
Tibo's avatar
Tibo committed
    - COMPOSER_CACHE_DIR=./composer-cache composer install
Tibo's avatar
Tibo committed
    # setup Laravel
    - cp env.test .env
    - touch storage/app/db.sqlite
    - php artisan migrate
Tibo's avatar
Tibo committed
  script:
Tibo's avatar
Tibo committed
    - vendor/bin/phpunit --coverage-text --colors=never
Tibo's avatar
Tibo committed
    - vendor/bin/phpcs
Tibo's avatar
Tibo committed
    - vendor/bin/phpcpd app/ config/ database/ public/ resources/ routes/ tests/
    - vendor/bin/phpstan analyze --memory-limit=512M
Tibo's avatar
Tibo committed

test:gitleaks:
Tibo's avatar
Tibo committed
  stage: test
Tibo's avatar
Tibo committed
  image: 
    name: "zricethezav/gitleaks"
    entrypoint: [""]
  script:
    - gitleaks -v --repo-path=./ --config=gitleaks.toml
Tibo's avatar
Tibo committed
    
Tibo's avatar
Tibo committed
# deploy only when pushed to branch master
# and tests succeeded
deploy:
  stage: deploy
  image: alpine
Tibo's avatar
Tibo committed
  only:
    - master
Tibo's avatar
Tibo committed
  script:
    - apk add wget
    - wget "http://deployer.web-d.be/projects/19/deploy/CnyUff07McfEi7hQtHND7JWALkzKCmf4b4ddREUE"