网站配置 CLI


README

Provision 是一个命令行界面,用于在任意计算机上快速部署网站,用于开发、测试或生产。

Provision 之所以出色,是因为它设计用于与任何系统协同工作,并且它用 PHP 编写,这使得它对网页开发者来说非常熟悉。

Provision 是稳定的,因为它源于 Aegir 项目中自动化的 Drupal 主机多年的历史。

4.x 版本是一个完全重写,基于 Symfony ConsoleRobo 组件。我们正在努力使 Provision 成为管理任何类型网页应用程序的有用独立命令。

工作原理

Provision 通过抽象您的网站所需的服务以及自动配置这些底层服务的方式工作。一旦设置,您只需告诉它一个 URL 和源代码的路径,就可以简单地添加新网站。

例如,Provision 知道 Drupal 需要两个服务:数据库服务器和 Web 服务器。Provision 知道如何配置 Apache、NGINX 和 Docker。它知道如何创建数据库和配置权限。它知道如何设置文件权限。

您可以使用 provision save 将您网站的 URL 和源代码路径添加到配置中,然后运行 provision verify,Provision 将为您完成所有其他操作以获得运行的网站。

开发

Provision 4.x 是一个正在进行中的项目。如果您现在想要开源 Drupal 主机,请参阅 DevShopAegir 项目

目前正在 GitHub 上开发: github.com/provision4/provision

文档仍在进行中,目前可在 aegir.gitbooks.io/provision 上找到。

起源

在 4.x 分支之前,Provision 是 Aegir 主机项目的“后端”命令行界面,作为一组 Drush 命令实现。它被设计成一种让“前端”网站运行命令以自动配置 Web 服务器的简单方式。

有关 Aegir 的更多信息,请访问 www.aegirproject.org 和原始的 Provision 在 www.drupal.org/project/provision

使命

如果这个项目要成功,我们必须把使 Provision 成为我们的使命:

  • 易于使用。
  • 易于开发。
  • 无处不在。

目标

  • 从源代码快速启动 Drupal 和其他网站。
  • 无服务意识且可插拔。支持任何 Web 服务器(Apache、Nginx、Docker、Kubernetes、php -s),任何数据库服务器(MySQL、MariaDB、SQLite)。允许贡献服务。
  • 在任何地方运行。PHP-CLI 在 Mac、Linux、本地、金属或云端上工作。(Windows 支持应该是可能的,尤其是在您现在可以运行 ubuntu bash 的情况下)。

目标用户

Provision 正在为 所有参与网站建设和托管的人 设计

  • 网站构建者和 HTML/CSS 设计师,他们只想在本地运行 Drupal。
  • 希望快速在本地和 CI 中启动网站副本进行测试的 Web 开发者。
  • 希望只需少量麻烦即可运行(并更新)Drupal 的系统管理员。
  • 平台构建商,他们以服务的形式运行 Drupal,并需要安全地扩展他们负责的网站数量。

请加入讨论,并提出您对我们如何改进Provision以满足您的使用案例的看法。

架构

Provision 4.x是用PHP编写的,利用ComposerSymfony组件。Provision还使用Robo作为框架。

文档

有关新Provision的更多文档即将推出。感谢您的耐心等待!

--Jon