此包已被废弃,不再维护。未建议替代包。

✨ 用于开发、测试和运行 Drupal 网站的工具包。

安装: 41

依赖项: 0

建议者: 0

安全性: 0

星星: 2

关注者: 15

分支: 1

开放问题: 13

类型:项目

0.2.0 2018-10-24 12:50 UTC

README

用于开发、测试和运行 PHP 应用的工具包。

Spark 提供了一个基于 Docker 的全栈开发环境,用于持续集成。它包含创建匿名数据库导出、执行测试套件、初始化 Solr 索引等命令。只需将 Spark 添加为项目的依赖项,然后进行一些基本的配置步骤,您就可以开始使用了。

《关于工具包》一文,由 Kent C. Dodds 发布,为 Spark 的架构设计提供了极大的灵感。[链接](https://blog.kentcdodds.com/concerning-toolkits-4db57296e1c3)

路线图

  • 我们正在实施关键数据库交互,以便能够使用 Spark 创建符合 GDPR 规定的匿名数据库导出。([查看我们的看板](https://github.com/BluesparkLabs/spark/projects/1))
  • 在数据库交互功能之后,我们将为我们的第一个 alpha 版本做准备,这将引入一种更灵活的方式来定义项目环境所需的服务。

入门 — 如何将 Spark 化您的项目

查看 Drupal 8 示例项目

以下是主要步骤概述。

1. 将 Spark 添加为依赖项

    $ composer require bluesparklabs/spark

2. 在您的 composer.json 中定义一个新的脚本

"scripts": {
  "spark": "SPARK_WORKDIR=`pwd` robo --ansi --load-from vendor/bluesparklabs/spark"
}

3. 在您的 composer.json 中的 autoload 字段中添加自动加载信息

"autoload": {
    "psr-4": {
        "BluesparkLabs\\Spark\\": "./vendor/bluesparklabs/spark/src/"
    }
},

4. 在项目的根目录中创建一个名为 .spark.yml 的文件。 这将是 Spark 将使用的项目特定配置。

有关如何编写项目特定配置的详细信息,请参阅我们的 .spark.example.yml 文件

5. 可选:在项目的根目录中创建一个名为 .spark.local.yml 的文件。 这将是 Spark 将使用的环境特定配置。请勿将此文件提交到您的仓库。如果您想在 CI 构建或托管环境中利用环境特定配置,建议的方法是将这些文件以特定名称保存在您的仓库中,例如 .spark.local.ci.yml,并确保您有自动化工具将它们重命名为适当的 .spark.local.yml

有关如何编写项目特定配置的详细信息,请参阅我们的 .spark.example.yml 文件

推荐的 composer.json 代码片段

请参阅 Drupal 8 示例项目的 composer.json 文件

1. Composer 默认将所有包安装在名为 ./vendor 的目录下。使用 composer/installers 定义 Drupal 模块、主题等的安装目标。在 composer.json 中的示例配置

"extra": {
    "installer-paths": {
        "web/core": ["type:drupal-core"],
        "web/libraries/{$name}": ["type:drupal-library"],
        "web/modules/contrib/{$name}": ["type:drupal-module"],
        "web/profiles/contrib/{$name}": ["type:drupal-profile"],
        "web/themes/contrib/{$name}": ["type:drupal-theme"],
        "drush/contrib/{$name}": ["type:drupal-drush"]
    }
}

2. 如果您正在使用 Drupal 网站,请使用 drupal-composer/drupal-scaffold 安装和更新位于 core 文件夹外部且不属于 drupal/core 包的文件。此 Composer 插件将在您安装或更新 drupal/core 时处理文件,但为了手动运行它,您可以在 composer.json 中添加一个脚本

"scripts": {
    "drupal-scaffold": "DrupalComposer\\DrupalScaffold\\Plugin::scaffold",
},

3. Spark 有一个命令 drupal:files,确保 files 文件夹存在并具有正确的权限,以及存在 settings.php 文件和 settings.spark.php 文件,该文件目前包含 Spark 的 Docker 特定配置,例如数据库连接等。您可能希望将其添加到您的 composer.json 中的 scripts 字段,以便 Composer 在安装或更新包时执行它

"scripts": {
    "post-install-cmd": "composer run spark drupal:files",
    "post-update-cmd": "composer run spark drupal:files",
}

使用方法

这是您运行 Spark 命令的方式

$ composer run spark <command>

提示:将 spark 设置为命令行别名到 composer run spark

要列出所有可用的命令,只需发出 $ composer run spark。以下是您目前可以使用 Spark 做到的一些高级概述

命令命名空间 描述
drush 执行 Drush 命令
containers 管理基于 Docker 的环境
db 删除或导入数据库,检查其可用性
drupal (正在弃用。)创建备份并上传到 Amazon S3 存储桶,确保 files 目录和 settings.php 文件,安装 Drupal
mysql 导入或导出数据库。(最终将弃用 db 命令组。)
solr 使用 Drupal 的配置初始化 Solr 核心并检查其可用性
test 执行测试套件

命令

注意

  • 命令将在它们准备好进行使用时在此处进行记录。
  • ⚠️ 当使用命令行参数时,您需要在您的参数之前包含一个双横线(--)。例如,composer run spark mysql:dump -- --non-sanitized。(有关此 原因建议的解决方案 请参阅。)

mysql:dump

将数据库导出为文件。默认情况下,文件放置在当前文件夹中,并且根据 .spark.yml 中的清理规则进行清理。以下命令行参数是可选的。

参数 描述
--non-sanitized 生成非清理数据导出。
--destination 导出文件将放置的目录。可以是绝对路径或相对路径。