Sign inSign up

cwallenberg/gitlab-ci-pipeline-php

By cwallenberg

•Updated over 7 years ago

Image
0

2.4K

cwallenberg/gitlab-ci-pipeline-php repository overview

⁠Build and test PHP applications with Gitlab CI

Docker images with everything you'll need to build and test PHP applications on Gitlab Continous Integration (or any other CI plataform!)

Logo


⁠Based on Official PHP images⁠

All versions (except lts) come with Node 11⁠, Composer⁠ and Yarn⁠

lts version come with node v10

Docker Pulls


⁠Laravel users

All images come with PHP (with all laravel required extensions), Composer (with hirak/prestissimo⁠ to speed up installs), Node and Yarn⁠.

Everything you need to test Laravel projects :D


⁠Gitlab pipeline examples

Laravel test examples

⁠Simple .gitlab-ci.yml using mysql service
# Variables
variables:
  MYSQL_ROOT_PASSWORD: root
  MYSQL_USER: homestead
  MYSQL_PASSWORD: secret
  MYSQL_DATABASE: homestead
  DB_HOST: mysql

test:
  stage: test
  services:
    - mysql:5.7
  image: edbizarro/gitlab-ci-pipeline-php:7.2-alpine
  script:
    - yarn
    - composer install --prefer-dist --no-ansi --no-interaction --no-progress
    - cp .env.example .env
    - php artisan key:generate
    - php artisan migrate:refresh --seed
    - ./vendor/phpunit/phpunit/phpunit -v --coverage-text --colors=never --stderr
⁠Advanced .gitlab-ci.yml using mysql service, stages and cache
stages:
  - test
  - deploy

# Variables
variables:
  MYSQL_ROOT_PASSWORD: root
  MYSQL_USER: homestead
  MYSQL_PASSWORD: secret
  MYSQL_DATABASE: homestead
  DB_HOST: mysql

# Speed up builds
cache:
  key: $CI_BUILD_REF_NAME # changed to $CI_COMMIT_REF_NAME in Gitlab 9.x
  paths:
    - vendor
    - node_modules
    - public
    - .yarn


test:
  stage: test
  services:
    - mysql:5.7
  image: edbizarro/gitlab-ci-pipeline-php:7.2-alpine
  script:
    - sudo yarn config set cache-folder .yarn
    - yarn install --pure-lockfile
    - composer install --prefer-dist --no-ansi --no-interaction --no-progress
    - cp .env.example .env
    - php artisan key:generate
    - php artisan migrate:refresh --seed
    - ./vendor/phpunit/phpunit/phpunit -v --coverage-text --colors=never --stderr
  artifacts:
    paths:
      - ./storage/logs # for debugging
    expire_in: 1 days
    when: always

deploy:
  stage: deploy
  image: edbizarro/gitlab-ci-pipeline-php:7.2-alpine
  script:
    - echo "Deploy all the things!"
  only:
    - master
  when: on_success

⁠Deploying Laravel applications with Gitlab

Recommended


Special thanks to Ambientum⁠, an incredible Brazilian project, for the inspiration.

Also https://github.com/Chialab/docker-php⁠ for php 7.2 build scripts

forthebadge forthebadge

Tag summary

Content type

Image

Digest

Size

268.9 MB

Last updated

over 7 years ago

docker pull cwallenberg/gitlab-ci-pipeline-php