Continuous Delivery helps companies release applications faster and with greater quality by streamlining and automating the process of bringing software from code to production. The Zend Blueprint for Continuous Delivery provides practical best practices to help companies implement each step of the continuous delivery cycle. Based on the Zend Server platform, the blueprint provides an easy way to implement these best practices through a series of patterns and plug-ins.


Zend Server Continuous Delivery Platform

Zend Server equips development and operations teams with the infrastructure and insight to support rapid application releases, and provides PHP applications with capabilities that ensure high levels of reliability, performance and security, both on-premise and in the cloud.

About the Zend Pattern

This Zend Pattern provides a collection of shell scripts to simplify the automation of the installation, bootstrapping and cluster management of Zend Server. It includes two scripts that you can chose from, depending on your use case: one to bootstrap a single Zend Server node, and another to set up and join a cluster. These scripts can be used as a generic way to automate Zend Server's management, and to reliably and consistently create application deployment environments. Note that a separate, external MySQL database is required to use the clustering functionality.


Why Use the Zend Pattern?

Maintaining a consistent highly available environment is key for successful application deployment and ongoing operation. Zend Server ensures configuration consistency across a cluster. When adding a server to a cluster, Zend Server will automatically change its settings to match all other servers in the cluster. Zend Server monitors all servers within a cluster and alerts on any application errors, performance issues or configuration changes, so you can act quickly to prevent issues.


Included in this Pattern:

Getting Started:

  1. Clone the repository from GitHub, or download a zip archive
  2. Run the scripts as instructed in the README file