此包已废弃,不再维护。作者建议使用terminus-plugin-project/terminus-dibs-plugin包。

Dibs - 一个允许您在Pantheon环境中占座的Terminus插件。

安装: 74

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 10

分支: 0

开放问题: 0

类型:terminus-plugin

1.0.0-beta.1 2017-01-04 18:01 UTC

This package is not auto-updated.

Last update: 2019-02-20 16:41:41 UTC


README

Dibs是一个用于在网站环境中“占座”的Terminus插件。它对于共同协作在有限的多dev数量上工作的团队或在构建自动化和持续集成环境中非常有用。

安装

将此存储库的内容放置在~/.terminus/plugins/dibs$TERMINUS_PLUGINS_DIR的位置。您可以通过使用git克隆此存储库或从GitHub上的发行版解压缩tar包来实现这一点。

通过运行terminus help env:dibs来验证安装是否成功

使用方法

占座特定环境

要在名为your-site的网站上的dev环境中占座,请运行

terminus env:dibs your-site.dev "Need the dev environment for a thing."

如果调用成功,您应该会看到如下消息

[notice] Called dibs on the dev environment.

...以及有关环境的其他详细信息。

请注意,在占座时必须留下备注。如果您或您的团队中的任何人在dev上再次尝试占座,您将看到包含最初用于占座的消息的错误。务必为您的同事留下有意义的备注!

取消占座环境

一旦您完成对环境的使用,您可以运行以下命令来取消占座

terminus env:undibs your-site.env

如果调用成功,您应该会看到如下消息

[notice] Undibs'd the dev environment.

...以及有关环境的其他详细信息。

之后,您或您的团队中的任何人都可再次在dev上占座。

占座任何可用环境

如果您不关心要占座哪个环境,您可以运行以下命令,该命令不需要环境名称。Dibs将尝试找到一个尚未被占座的环境。

terminus site:dibs your-site "Testing some layout tweaks"

如果找到了环境,您将看到与上面相同的成功消息,包括占座的环境名称。此外,还将返回有关占座环境的详细信息。

如果所有环境都已有人使用,您将看到一个错误消息

[error] Unable to find an environment to dibs.

默认情况下,所有环境(除了生产环境)都可能被占座。

基于过滤器的占座环境

如果您想要占座一个环境,但希望限制可用于占座的环境,您可以通过提供正则表达式模式作为过滤器来实现这一点。

terminus site:dibs your-site "Experiments" '^((?!^(dev|test|live)$).)*$'

上述命令将对多dev占座,忽略devtestlive环境。

注意:在两种情况下,如果没有提供特定环境,则只有那些已完全启动的环境才可以被占座。如果您需要在环境启动时占座,请指定环境名称。

占座报告

如果您想查看环境和它们占座状态的概览,可以使用以下命令获取每个环境的详细分解

terminus site:dibs:report your-site

这样做,您将得到如下响应

 ------------- ---------------- ---------- ------------------------ --------------------------
  Environment   Status           By         At                       Message
 ------------- ---------------- ---------- ------------------------ --------------------------
  dev           Available
  test          Not Ready
  multidev-1    Already called   username   Thu Nov 3rd at 07:23pm   New feature for the boss
 ------------- ---------------- ---------- ------------------------ --------------------------

请注意,您还可以提供正则表达式过滤器以限制报告中返回的环境。

terminus site:dibs:report your-site '^((?!^(dev|test|live)$).)*$'

用例

此插件假定您已在Pantheon网站上启动了持久或半持久的环境。它可以用于各种用例,包括人类和自动化的用例。

穷人的多开发环境

假设您有两人或更多人组成的团队,并且您为一位不愿意使用多开发环境的客户工作。如果你们两人想尝试在同一区域的网站上使用新的配置,您如何确定谁使用的是dev还是test

此插件可以帮助管理工作!

terminus env:dibs your-site.test "New features for the boss"

加速CI构建

假设您在CI服务器上运行自动化测试,该服务器会启动和关闭多开发环境,但数据库非常大,以至于创建站点需要很长时间

使用此插件来加速您的构建!保留几个持久CI环境,命名为如ci1ci2等。而不是启动/关闭环境,只需叫一个名字即可!

export PENV=`terminus site:dibs --field=id -- your-site "Using env for build." '^ci\d$'`

注意,您还可以指定多个字段(如--fields=id,domain),而不是一个,或者如果需要,指定一个替代格式(如--format=json)。有关更多信息,请运行:terminus help site:dibs

多开发环境管理

假设您有一个大型团队或同时处理大量功能,但只有少数几个多开发环境。

使用此插件来确保大家不会互相干扰!将您的多开发环境数量保持在最大容量,使用如dev1dev2等命名约定。在开始工作于一个功能或它准备好进行质量保证之前,对环境进行叫名。

terminus site:dibs your-site "Feature name/number" '^dev\d+$'

内部

为了维护关于环境是否已被叫名的状态,此插件将在网站环境文件系统的一个公开可访问位置写入一个小的JSON文件。如果您运行任何基于文件的作业操作(如从live克隆到您的叫名的环境),叫名状态将会丢失。

此插件足够聪明,可以识别出当环境是从之前叫名的环境中创建出来的(例如,从一个环境到另一个环境的db/files克隆),并将允许目标站点被叫名(例如,如果dev已经被叫名,您从dev启动了multidev-1,即使dev的叫名JSON存在于multidev-1上,此插件仍然允许您对multidev-1进行叫名)。