pantheon-systems / travis-scripts
使用Travis通过Composer构建Drupal网站,使用Behat进行测试,然后部署到Pantheon。
Requires
README
该项目已弃用;将被一个更新且更全面的示例Drupal 7 Travis CI Composer项目所替代,该将用于快速创建您的衍生项目。请参阅示例Drupal 7 Circle CI Composer项目,该项目更新度更高,但与Circle CI而不是Travis配合使用。
原始文档
该项目设计为从Drupal网站的composer.json
文件的require
部分中包含。这样做可以使您实现以下功能
- 在您的composer.json文件中指定您使用的Drupal模块、主题和库,并使用Composer构建它们。
- 通过Travis或Circle CI自动构建组件,每次提交时。
- 使用Behat从Travis运行您的网站的测试。
- 每次测试通过时,自动将您的网站部署到您的Pantheon开发环境或某些其他分支。
所有这些都可以通过仅提交到您的仓库的几个轻量级文件来实现。
设置
将examples
目录的内容复制到项目根目录,并根据需要重命名文件
example.gitignore -> .gitignore
example.travis.yml -> .travis.yml
example.behat.yml -> behat.yml
features -> features
您还需要一个为您的项目准备的composer.json文件。可以在example-drupal7-travis-composer项目中使用模板来快速创建自己的项目;对于Drupal 8,请参阅drupal-composer/drupal-project。
配置
您必须根据项目的需求自定义这些文件的内容。请参阅下面的详细说明;每个文件内的注释中也有更多信息。
Composer
请勿使用pantheon-systems/travis-scripts项目中包含的composer.json文件;而是使用上面设置
部分中提到的项目的文件。
在您的composer.json文件中设置name
和description
为适合您的项目的内容。
自定义require
部分以包含您项目所需的项目和主题。您可能想尝试使用drush composer-generate来开始。如果您想在Pantheon上运行您的网站,那么您应该保留“pantheon-systems/drops-7”作为您的主要组件;否则,如果您更喜欢,您可以将此替换为“drupal/drupal”。
您composer.json文件中require
部分的自定义安装程序控制了您的项目中组件的安装方式。始终将这些项目放在最上面,以便它们在安装过程的开始阶段就可以使用。在自定义安装程序之前列出的模块和主题可能无法正确安装。
Travis CI
设置您的项目以便通过Travis CI进行测试
- 在您的网络浏览器中登录到https://travis-ci.org
- 点击“我的仓库”旁边的“+”
- 找到您想要配置以进行测试的仓库。如果需要,导航到正确的组织,并如果仓库是最近创建的,则点击“sync”。
- 通过点击它旁边的复选框启用仓库。
- 将提交推送到您的仓库以启动构建。
接下来,设置push-to-pantheon脚本所使用的环境变量。
在您的 .travis.yml 文件的 global 部分定义标识您站点的环境变量。请参阅文件中的注释,特别是关于加密环境变量和加密私钥文件的说明。只有当您希望在每次测试运行成功后推送您的站点到Pantheon时,加密项才是必要的。您需要按照上述方式设置您的仓库以供Travis测试,以便加密您的Travis API密钥。
您还需要设置一个SSH密钥,以便push-to-pantheon脚本可以向Pantheon git仓库提交更改。
- 创建一个公钥/私钥SSH密钥对。您可能想要使用与GitHub不同的密钥。
- 将公钥SSH密钥添加到您的Pantheon账户.
- 为Travis加密您的私钥.
- 将您的私钥命名为
travis-ci-key
,并将其放置在项目的基础目录(此文件已在初始 .gitignore 文件中)。 - 使用
cd travis && travis encrypt-file travis-ci-key
创建您的加密密钥。 - 将
travis encrypt-file
输出的openssl
行复制到您的 .travis.yml 文件中,替换 after_success 部分中已经存在的openssl
行。 - 提交生成的travis-ci-key.enc和所有更改到您的 .travis.yml 文件。
- 将您的私钥命名为
示例 .travis.yml 文件的其余部分应保持不变。请注意,从 bin
目录运行的脚本来自此项目的 scripts
目录(当您在项目的 composer.json 中要求 "pantheon-systems/travis-scripts" 时,它们会被复制到 bin
目录),或者来自某些其他组件的 require-dev(例如behat)。
请参阅Travis CI文档,了解如何设置GitHub集成,以便您的代码在每次提交时都会自动进行测试。
Behat
此示例配置为运行单个behat测试,确认站点名称已由 drush site-install
正确设置。请注意,站点名称的前半部分由您在 .travis.yml 文件中自定义的 SITE_NAME
环境变量设置;在Travis中,站点名称的后半部分设置为 Travis Test Site
,在Pantheon中设置为 Pantheon Test Site
。
请参阅behat文档,了解如何将更多测试添加到您的项目中。
本地测试
设置完成后,进行本地测试只需
$ composer install
$ ./bin/local-test