Skip to content

A demo to illustrate the powerful of ci/cd pipeline: for php7 projects. Pdf slide from speech @phpusergrouppalermo

License

Notifications You must be signed in to change notification settings

gionniboy/phpdemo-cicd

Repository files navigation

pipeline status

coverage report

CI/CD PHP Demo

A demo to illustrate the powerful of ci/cd pipeline: for php7 projects. Pdf slide from speech @phpusergrouppalermo attached here.

gitlab-ci

Two stage: test and deploy.

Tests on devel and master. Tests and autodeploy on "passed" for master only.

Secret envars on protected branch are used for CD:

SSH_USER_DEMO, SSH_KEY_DEMO, SSH_PORT_DEMO [avoid leak]

You can see them into (.gitlab-ci.yml)[.gitlab-ci.yml]

Job Template is used for mariadb service and then grafted inside jobs.

PHP testing & analisys

PHPUnit, PHPCS, PHPMD, PHPMETRICS are used on pipeline to build artifacts with reports.

You can browse them through job details.

All configuration files for this tools are present in this repository.

Composer is customized to be helpful too, with some scripts and post-update command. Try it:

$ composer run-script tests

remember: first install dependencies (use composer).

Guzzle is used to do functional tests on api.

Simple API based on slim&eloquent.

SQL

Helpful assets to quickly bootstrap database with sample data too.

utils

Contain a based deploy script to run on demo-stage triggered by CD.

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details

Releases

No releases published

Packages

No packages published