tableau-mkt / dibs
Dibs - 一个允许您在Pantheon环境中占座的Terminus插件。
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占座,忽略dev
、test
和live
环境。
注意:在两种情况下,如果没有提供特定环境,则只有那些已完全启动的环境才可以被占座。如果您需要在环境启动时占座,请指定环境名称。
占座报告
如果您想查看环境和它们占座状态的概览,可以使用以下命令获取每个环境的详细分解
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环境,命名为如ci1
、ci2
等。而不是启动/关闭环境,只需叫一个名字即可!
export PENV=`terminus site:dibs --field=id -- your-site "Using env for build." '^ci\d$'`
注意,您还可以指定多个字段(如--fields=id,domain
),而不是一个,或者如果需要,指定一个替代格式(如--format=json
)。有关更多信息,请运行:terminus help site:dibs
多开发环境管理
假设您有一个大型团队或同时处理大量功能,但只有少数几个多开发环境。
使用此插件来确保大家不会互相干扰!将您的多开发环境数量保持在最大容量,使用如dev1
、dev2
等命名约定。在开始工作于一个功能或它准备好进行质量保证之前,对环境进行叫名。
terminus site:dibs your-site "Feature name/number" '^dev\d+$'
内部
为了维护关于环境是否已被叫名的状态,此插件将在网站环境文件系统的一个公开可访问位置写入一个小的JSON文件。如果您运行任何基于文件的作业操作(如从live
克隆到您的叫名的环境),叫名状态将会丢失。
此插件足够聪明,可以识别出当环境是从之前叫名的环境中创建出来的(例如,从一个环境到另一个环境的db/files克隆),并将允许目标站点被叫名(例如,如果dev
已经被叫名,您从dev
启动了multidev-1
,即使dev
的叫名JSON存在于multidev-1
上,此插件仍然允许您对multidev-1
进行叫名)。