Overview
Syllabus
Intro
Goal: Improve the situation
The challenge
Vagrant benefits
Vagrantfile
Run the virtual machine
Vagrant Provider
Vagrant Plugins
Vagrant Cachier Plugin
Simple Puppet script
Directory layout
Running librarian-puppet
Vagrant Provisioning
Composer via Puppet
Publish your packages
Private packages?
Install Satis
Running Satis
Generated Satis Repo
Dealing with private repos
HTTP Basic Auth (auth.json)
Composer via expect
expect Vagrant configuration
expect bootstrap.sh
Running expect in Puppet
Domain-specific language
A glue for 3rd party tools
Why Phing?
Install Phing
build.properties
Using Properties Files
Running Phing via Puppet
Liquibase Changeset
Liquibase Filesystem layout
Running Liquibase
Buildserver Integration
Gitlab Webhook
Jenkins buildnodes
Configure build node
Configure job
Bind job to host
Copy configuration files
Validate composer.json
Running security checks
Running Puppet via Jenkins
Running the build
Deploy the build
Taught by
PHP UK Conference