Created: 2018-05-31 Thu 13:18
Drupal e devops specialist
MySQL cluster destroyer
Senior GNU/Linux Sysadmin
Fanatic Debian geek :-D
Software moves fast
More complex stack (no more LAMP only)
Clients want new features…
…and want them now!
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day.
Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible – Martin Fowler
Continuous Delivery is a software engineering approach in which continuous integration, automated testing, and automated deployment capabilities allow software to be developed and deployed rapidly, reliably and repeatedly with minimal human intervention. Still, the deployment to production is defined strategically and triggered manually. – Gitlab
Continuous Deployment is a software development practice in which every code change goes through the entire pipeline and is put into production automatically, resulting in many production deployments every day. It does everything that Continuous Delivery does, but the process is fully automated, there's no human intervention at all.
All you can eat!
A (CI/CD) pipeline is an automated expression of your process for getting software from version control right through to your users and customers - jenkins.io
A pipeline is a group of jobs that get executed in stages(batches).
It run jobs and sends the results to GitLab CI
Could be runs everywhere
image: php:5.6 before_script: - apt-get update -yqq && apt-get dist-upgrade services: - mysql test:mysql: script: - vendor/bin/phpunit --configuration phpunit_mysql.xml --coverage-text test:php7:mysql: image: php:7 script: - vendor/bin/phpunit --configuration phpunit_mysql.xml --coverage-text