pantheon-systems/example-drupal7-circle-composer

此包最新版本(1.1.4)没有可用的许可证信息。

用于使用Composer创建管理Drupal站点的项目模板,并使用Circle CI进行测试。使用 `composer create-project` 创建自己的项目,或者,如果您更喜欢克隆git仓库,请先运行 `composer install`,然后运行 `bin/init-new-project` 来替换此文件并设置起点

1.1.4 2015-11-04 17:16 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:58:54 UTC


README

此项目模板将创建一个由Composer管理的Drupal 7站点,并在Circle CI上使用Behat对每个提交进行测试。该Drupal站点可在Pantheon或Circle服务器上运行。只需几个简单的步骤即可设置全新的站点或转换现有站点。

向您的项目添加新测试也非常简单;只需遵循包含的测试示例。

开始使用

在开始之前,您应该首先 安装composer

一旦您的系统上有了Composer,就创建一个新项目

$ composer create-project pantheon-systems/example-drupal7-circle-composer put-your-site-name-here

如果您已经在Pantheon上运行了Drupal 7站点,您应该使用与您的Pantheon站点相同的名称作为您的项目名称。如果您是从头开始,并且希望在Pantheon上进行测试,您应该 注册免费机构账户(如果您还没有这样做)。

测试

有四种测试方法

  • 本地测试,Behat和Drupal站点都在本地机器上运行。
  • 本地测试,Behat在本地机器上运行,Drupal站点在Pantheon上。
  • 在Circle CI上,Behat和Drupal站点都在Circle服务器上运行。
  • 在Circle CI上,Behat在Circle服务器上运行,Drupal站点在Pantheon上。

本地测试

运行所有测试,Behat和Drupal站点都在本地系统上运行,您需要做的就是运行本地-test脚本

$ ./bin/local-test

如果您想在本地系统上运行Behat并测试在Pantheon上运行的Drupal站点,请使用Terminus登录,然后运行pantheon-test脚本

$ terminus auth login
$ ./bin/pantheon-test

这可能会正常工作,但如果不行,请参阅下面的自定义部分;您可能需要设置您的数据库凭据。

在Circle CI上测试

设置您的项目以供Circle CI测试

  • 在您的网页浏览器中登录到 https://circleci.com
  • 在左侧菜单栏上点击“+”、“添加项目”。
  • 找到您想配置进行测试的仓库。如果需要,导航到正确的组织,并使用“过滤仓库...”字段来减少显示列表的大小。
  • 点击“构建项目”以启用仓库并首次构建它。

提供的circle.yml文件设置为首先在Circle服务器上执行简短的烟雾测试,如果通过,则将站点复制到Pantheon,然后对在Pantheon上运行的Drupal站点运行剩余的Behat测试。Behat配置文件应该正确设置以这种方式运行基本测试。有关如何添加更多测试或更改其行为(例如,仅在Circle上进行测试)的信息,请参阅下面的自定义部分。

为了在Circle上正确运行测试,有必要定义一些“秘密”环境变量值,以便Circle服务器可以与Terminus进行身份验证。必要的变量如下表所示

在项目设置 > 环境变量中编辑这些内容(https://circleci.com/gh/ORG/PROJECT/edit#env-vars)。一旦在这里设置值,Circle CI 将会保密这些值,即使其他方登录到 Circle CI 网站,也无法看到它们。

注意:如果代码提交到显示这些值的仓库中,这些值可能会被泄露;因此,Circle CI 不会将来自外部来源的拉取请求中的这些值传递进去。因此,Pantheon 测试将不会为这些类型的 PR 运行。

您还需要设置一个 ssh 密钥,以便推送至 Pantheon 的脚本可以将更改提交到 Pantheon 的 git 仓库。

有关配置的更多信息,请参阅 Circle CI 文档

自定义

创建新项目后,您仍需要执行一些自定义步骤以满足您的特定需求。创建项目脚本会尽其所能进行自定义,因此它应该可以直接运行。各种自定义选项对于添加您特定站点所需的任何附加项非常有用。

文件夹 behatscripts 将被复制到您的项目中,并且可以自由修改并提交到您的 GitHub 仓库。在提供的 .gitignore 文件中列出的任何位置都由 Composer 管理,不应修改或提交。

环境变量

有三个地方可以定义环境变量。

  • Circle CI 环境变量设置,用于敏感值
  • circle.yml,用于非敏感值
  • 在 scripts/default-environment 文件中,用于所有环境通用的非敏感值

请参阅 default-environment 中的注释,以了解可以设置的不同变量的说明。在 "在 Circle CI 上测试" 部分中描述了如何在 Circle CI 中设置敏感值的说明。

向站点添加模块

可以使用 Composer 添加额外的模块

$ cd my-new-project-name
$ composer require drupal/devel '7.*'

这将把指定的模块放入 sites/all/modules/contrib,并且还会更新您的 composer.json 文件,包含刚刚添加的模块的信息。

如果您有一个带有现有模块的现有站点,请使用 composer-generate Drush 命令从现有站点生成 composer.json 文件。复制生成的文件中的 require 部分的模块,并忽略此文件的其余部分。

自定义模块

您可以将自定义模块和主题分别放在 drupal/sites/all/modules/customdrupal/sites/all/themes/custom 中,并将它们提交到包含您的 composer.json 文件的同一仓库。

如果您愿意,可以为自定义组件创建一个Composer项目,并将它们添加到您的composer.json文件中。为了做到这一点,没有必要使您的代码公开可访问;您可以创建一个指向私有GitHub仓库的本地Composer包定义。有关创建Composer包的不同方法,请参阅创建自己的Composer包的详细信息。

安装后

在Drupal站点安装后,将执行post-install脚本。您可以使用此脚本安装您的配置,例如,通过回滚features或通过ctools export bonus更新主配置。

添加更多测试

“scripts”文件夹包含一些起始脚本,您可以使用这些脚本来自定义您测试所需的环境。有关测试放置位置和如何配置behat-pantheon.yml以进行Pantheon测试的详细信息,请参阅Behat目录中的README文件。