网站配置 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 启动网站的副本进行测试。
  • 系统管理员,他们只想轻松运行(并更新)Drupal,而无需太多麻烦。
  • 正在使用“Drupal as a Service”模式并需要安全扩展其负责的网站数量的平台构建者。

请加入讨论,并提交一个问题,说明您对我们如何改进Provision以适应您的用例的看法。

架构

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

文档

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

--Jon