ucdavis/sitefarm-pantheon

在Pantheon上使用Composer安装SiteFarm。

安装: 82

依赖者: 0

建议者: 0

安全: 0

星标: 5

关注者: 4

分支: 6

语言:Shell

类型:项目

4.0.0 2018-06-13 17:13 UTC

This package is auto-updated.

Last update: 2024-09-09 01:58:35 UTC


README

CircleCI Pantheon example-drops-8-composer Dev Site example-drops-8-composer

此存储库是使用Pantheon的Composer工作流程的起始状态。它被设计为通过Terminus Build Tools插件复制,该插件将为您设置全新的

此存储库应一次性通过Terminus Build Tools插件复制,但也可以用作模板。它不应该直接克隆或分支。

Terminus Build Tools插件将构建一个新项目,包括

  • Git仓库
  • 免费的Pantheon沙盒站点
  • 持续集成配置/凭证设置

您需要

您可能发现将Bitbucket(或GitHub)和CircleCI令牌作为变量导出到命令行中会更简单,这样Build Tools插件可以自动检测它们

export BITBUCKET_USER=[REDACTED]
export BITBUCKET_PASS=[REDACTED]
# and/or
export GITHUB_TOKEN=[REDACTED]
export CIRCLE_TOKEN=[REDACTED]

运行此命令并观看魔法发生

$ terminus build:project:create ucdavis/sitefarm-pantheon --git=bitbucket --stability=dev --team="University of California Davis" --org=ucdavis my-sitefarm-site

将“my-sitefarm-site”替换为您在Pantheon中希望使用的站点机器名称。将“--org=ucdavis”替换为您自己的bitbucket团队。

一旦构建完成,请登录Bitbucket,并将新仓库的公钥复制到ietwebdev/sitefarm、ietwebdev/sitefarm-theme-one和ietwebdev/aggiefeed-drupal-module的ssh密钥中

现在,您可以克隆Bitbucket仓库并开始工作。

重要文件和目录

/web

由于pantheon.yml中的配置,Pantheon将从/web子目录提供服务。这对于基于Composer的工作流程是必要的。将您的网站放在此子目录中还允许将测试、脚本和其他与项目相关的文件存储在您的仓库中,而不会污染您的Web文档根目录或从Pantheon可访问。如果项目是公开的,它们仍然可以从版本控制项目访问。有关详细信息,请参阅pantheon.yml文档

/config

移动到Git根目录的目录之一是/config。此目录包含Drupal的.yml配置文件。在更传统的仓库结构中,这些文件将位于/sites/default/config/。多亏了settings.php中的这一行,配置完全移动到了Web根目录之外。

/composer.json

此项目使用Composer管理第三方PHP依赖项。

composer.json中的require部分应用于您的Web项目需要的任何依赖项,即使这些依赖项可能只在非生产环境中使用。所有在require中的依赖项都将推送到Pantheon。

require-dev部分应用于不是Web应用程序的一部分但构建或测试项目所必需的依赖项。一些例子是php_codesnifferphpunit。开发依赖项不会部署到Pantheon。

如果您只是在GitHub上浏览此存储库,可能看不到上面提到的某些目录。这是因为Drupal核心和贡献模块是通过Composer安装的,并且在.gitignore文件中被忽略。

此项目使用以下必需依赖项

  • composer/installers:通过类型重新定位某些Composer项目的安装位置;例如,此组件允许Drupal模块安装到modules目录而不是vendor目录。

  • drupal/core-composer-scaffold:允许在安装时将某些必要文件(例如index.php)复制到所需位置。

  • drupal/core-recommended:此包包含Drupal本身,包括Drupal框架文件。

  • pantheon-systems/drupal-integrations:此包提供在Pantheon平台上安装此网站所需的额外框架文件。如果网站部署在其他地方,则这些文件不起作用。

  • drush-ops/behat-drush-endpoint:由Behat测试使用。

  • rvtraveller/qs-composer-installer:允许网站通过Composer包安装quicksilver钩子。

  • zaporylie/composer-drupal-optimizations:此包使在更新Drupal及其依赖项时,composer update操作运行更快。

以下可选依赖项也作为建议包括在内

  • pantheon-systems/quicksilver-pushback:此组件允许将来自Pantheon仪表板的提交自动推回GitHub(对于使用Build Tools工作流程的网站)。如果为此网站设置了该工作流程,则此包不起作用。

  • drush/drush:Drush是一个命令行工具,提供从命令行与网站维护进行交互的方式。

  • drupal/console:Drupal Console类似于Drush,是Drush的替代品。您可以使用任一或两者。

  • cweagans/composer-patches:允许在安装时使用补丁文件更改网站。

  • drupal/config_direct_save:提供了一种从Drupal管理界面直接将配置导出到文件系统(在SFTP模式下)的方法。这是一种管理配置文件的便捷方式。

  • drupal/config_installer:允许通过Drupal Web安装程序使用现有导出的配置文件重新安装网站。

如果不需要或不想使用,可以删除任何可选依赖项。

/.ci

.ci目录用于存储在持续集成上运行的脚本。特定供应商的配置文件(如.circle/config.yml.gitlab-ci.yml)使用这些脚本。

脚本根据其功能组织到.ci的子目录中:builddeploytest

构建脚本 .ci/build

构建适合部署的实体的步骤。根据需要,您可以在此处添加其他构建脚本,例如安装Node依赖项。

  • .ci/build/php使用Composer安装PHP依赖项

构建脚本 .ci/deploy

便于代码部署到Pantheon的脚本。

  • .ci/deploy/pantheon/create-multidev为除默认Git分支之外的分支创建新的Pantheon multidev环境
  • .ci/deploy/pantheon/dev-multidev根据Git分支将构建的实体部署到Pantheon的dev或multidev环境

自动测试脚本 .ci/tests

运行自动测试的脚本。根据您的测试需求,您可以在此处添加或删除脚本。

静态测试 .ci/test/statictests/unit 静态测试在不执行代码的情况下分析代码。它在检测语法错误方面做得很好,但不适用于功能。

  • .ci/test/static/run 使用 PHP CodeSniffer 根据 Drupal 编码标准、PHP Unit 和 PHP 语法检查 运行。
  • tests/unit/bootstrap.php 初始化 Composer 自动加载器
  • tests/unit/TestAssert.php 一个单元测试示例。项目特定的测试文件需要在 tests/unit 中创建。

视觉回归测试 .ci/test/visual-regression 视觉回归测试使用无头浏览器捕获网页截图并比较视觉差异。

  • .ci/test/visual-regression/run 运行 BackstopJS 视觉回归测试。
  • .ci/test/visual-regression/backstopConfig.js BackstopJS 配置文件。这里设置的配置需要根据您的项目进行更新。例如,pathsToTest 变量决定了要测试的 URL。

Behat 测试 .ci/test/behattests/behat Behat 是一个用 PHP 编写的接受/端到端测试框架。它便于在 Pantheon 基础设施上测试完全构建的 Drupal 网站。使用 Drupal Behat 扩展 来帮助 Behat 与 Drupal 的集成。

  • .ci/test/behat/initialize 创建要测试的环境备份
  • .ci/test/behat/run 设置 Behat 所需的动态信息的环境变量 BEHAT_PARAMS,并通过 Terminus 配置它使用 Drush,然后启动无头 Chrome 并运行 Behat
  • .ci/test/behat/cleanup 恢复之前创建的数据库备份并保存 Behat 捕获的截图
  • tests/behat/behat-pantheon.yml 兼容在 Pantheon 站点上运行测试的 Behat 配置文件
  • tests/behat/tests/behat/features Behat 测试文件(带有 .feature 扩展名)应存储的位置。提供的示例测试需要替换为项目特定的测试。
    • tests/behat/tests/behat/features/content.feature 一个 Behat 测试文件,它登录到 Drupal 控制面板,创建节点、用户和术语,并验证它们在 Drupal 管理界面和站点前端的存在

更新您的网站

当使用此存储库来管理您的 Drupal 网站时,您将不再使用 Pantheon 仪表板来更新您的 Drupal 版本。相反,您将使用 Composer 来管理您的更新。确保您的网站处于 Git 模式,将其本地克隆,然后从那里运行 composer 命令。像往常一样提交和推送您的文件到 Pantheon。