Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gionniboy/phpdemo-cicd
A demo to illustrate the powerful of ci/cd pipeline: for php7 projects. Pdf slide from speech @phpusergrouppalermo
https://github.com/gionniboy/phpdemo-cicd
composer continuous-delivery continuous-deployment continuous-integration continuous-testing gitlab-ci php7 phpcs phpmd phpunit static-code-analysis
Last synced: 25 days ago
JSON representation
A demo to illustrate the powerful of ci/cd pipeline: for php7 projects. Pdf slide from speech @phpusergrouppalermo
- Host: GitHub
- URL: https://github.com/gionniboy/phpdemo-cicd
- Owner: gionniboy
- License: bsd-3-clause
- Created: 2018-04-28T14:41:39.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-04-28T14:49:34.000Z (over 6 years ago)
- Last Synced: 2024-10-28T00:13:46.280Z (2 months ago)
- Topics: composer, continuous-delivery, continuous-deployment, continuous-integration, continuous-testing, gitlab-ci, php7, phpcs, phpmd, phpunit, static-code-analysis
- Language: PHP
- Size: 742 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![pipeline status](https://gitlab.com/gionniboy/phpdemo-cicd/badges/master/pipeline.svg)](https://gitlab.com/gionniboy/phpdemo-cicd/commits/master)
[![coverage report](https://gitlab.com/gionniboy/phpdemo-cicd/badges/master/coverage.svg)](https://gitlab.com/gionniboy/phpdemo-cicd/commits/master)
# CI/CD PHP Demo
A demo to illustrate the powerful of ci/cd pipeline: for php7 projects.
Pdf slide from speech @phpusergrouppalermo attached [here](20180426-pugpalermo.pdf).## 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:```console
$ 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](LICENSE) file for details