Automate your DevOps
Learn how to painlessly set up your servers and leverage
CI/CD to handle zero downtime deployment.
DevOps For PHP Developers
This book gives you insight on how to use automation tools like Ansible to set up your servers and craft great pipelines to handle deployment, giving your systems zero downtime.
With the addition of tests into the deployment pipeline, you will be at ease knowing that your system won't go down because of something you could foresee. Learn how to write Ansible scripts, simple tests and more.
What you get
Handcrafted PDF with ePub alternative
Production Ready Ansible Scripts
Laravel Starter Kit
Vanilla PHP Starter Kit
Production Ready CI/CD Scripts
Adjustable PHP Dockerfile
Table of Contents
This book is divided into two parts; Server Setup and Testing & Deployment. It mainly focuses on the use of Ansible to setup fresh instances of Ubuntu 18.04. We will go through performing automated updates of the system, enabling Unattended upgrades and setting up a LEMP stack comprising of PHP 7.3, Nginx, Percona (drop-in replacement of MySQL) and Redis for caching.
We will then build a docker image that will closely resemble our server environment. This will be our testing environment that we will hook up to GitLab and setup our CI/CD pipeline to handle the testing and zero downtime deployment.
The set up and deployment services used in this book are free and open source.
Server Setup
Manual Server Setup
Finding the Right Server
Initial Server Setup
Server Updates
Unattended Upgrades
Setting Up MySQL Server
Setting Up PHP 7.3
Setting Up Redis Server
Setting Up Nginx
Automated Server Setup using Ansible
What is Ansible?
Setting up Ansible
Ansible Inventory
YAML Basics
Ansible Playbooks
Role Structure
The Common Role
Pre-Setup Subtask
Unattended Upgrades
Optimisations Subtask
Users Subtask
Security Subtask
The MySQL Role
Percona Subtask
Configure Subtask
The PHP Role
Installs Subtask
Configure Subtask
The Nginx Role
Installs Subtask
Configure Subtask
The ACL Role
Testing & Deployment
Test Cases
Local Testing
Testing Laravel
Automated Testing with GitLab CI/CD
Building & Publishing the Docker Image
Generating the .gitlab-ci.yml
Automated Deployment with GitLab CI/CD
SSH Configuration
Directory Structure
Laravel Envoy
And There’s More!
Get Your Sample
Have a look at the content and see the initial stages of the zero downtime deployment.
The Full Package
Used to Leanpub?
You can also get it from Gumroad!
Powered by SmoDav Productions