If version control is one side of the coin, then automated build is the other. Version control allows multiple developers to work collaboratively on a single project. But that code remains inert until it is properly deployed and combined with configuration in an environment with all dependencies in place. Such dependencies will include the wider software stack – the Linux distribution, the configured web server, a database and schema, the presence of PHP installed with the correct extensions. Additionally, a system will also require numerous libraries, probably installed and updated via Composer, as well as front-end libraries which may be included using tools like NPM. As a project grows in power and complexity, so the number of steps required to install and update an instance will increase. This requirement holds for development environments, but it is also important to be able to deploy staging and production instances of a system with a minimum of impedance. In this chapter, I introduce you to Ansible, which can handle all the jobs mentioned so far and many more besides.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Automating Build and Deployment with Ansible

  • Matt Zandstra

摘要

If version control is one side of the coin, then automated build is the other. Version control allows multiple developers to work collaboratively on a single project. But that code remains inert until it is properly deployed and combined with configuration in an environment with all dependencies in place. Such dependencies will include the wider software stack – the Linux distribution, the configured web server, a database and schema, the presence of PHP installed with the correct extensions. Additionally, a system will also require numerous libraries, probably installed and updated via Composer, as well as front-end libraries which may be included using tools like NPM. As a project grows in power and complexity, so the number of steps required to install and update an instance will increase. This requirement holds for development environments, but it is also important to be able to deploy staging and production instances of a system with a minimum of impedance. In this chapter, I introduce you to Ansible, which can handle all the jobs mentioned so far and many more besides.