我正在尝试在Travis中设置色度。
我看到Chromatic document建议在Travis中使用此脚本
if [[ $TRAVIS_EVENT_TYPE != 'pull_request' || $TRAVIS_PULL_REQUEST_SLUG != $TRAVIS_REPO_SLUG ]];
then
npm run chromatic
fi
有解释
Travis为拉取请求的提交提供了两种构建方式: 称为pr and push builds。一次运行Chromatic才有意义 每个PR,因此我们建议在内部的PR版本上禁用Chromatic PR(即不是来自分叉的PR)。你应该确保你 启用推式构建,并添加以下代码:[[以上代码]]
对于外部PR(来自回购分叉的PR),上述代码将 确保Chromatic确实在pr构建上运行,因为Travis不会 在这种情况下触发推送构建。
注意:我们建议在推构建上运行Chromatic,因为公关构建不能 总是跑出正常的git血统。例如,如果 您更改PR的基本分支时,可能会发现您需要 重新批准更改,因为某些历史记录可能会丢失。
Chromatic确实可以与Travis的公关作品一起使用!
然后,我读了关于TRAVIS_PULL_REQUEST_SLUG
和TRAVIS_REPO_SLUG
的{{3}}。
TRAVIS_PULL_REQUEST_SLUG:
如果当前作业是请求请求,则为子弹(格式为 PR源自的存储库的owner_name / repo_name。
如果当前作业是推送构建,则此变量为空(“”)。
TRAVIS_REPO_SLUG:
- 当前正在构建的存储库的段(格式:owner_name / repo_name)。
所以我的理解是何时$TRAVIS_PULL_REQUEST_SLUG != $TRAVIS_REPO_SLUG
,它是一个推构建,那么为什么它仍需要$TRAVIS_EVENT_TYPE != 'pull_request'
?
它们之间有什么区别吗?
答案 0 :(得分:1)
来自Chroma的专家。
我们建议仅在构建不是源自拉取请求(即,推入构建)时,或者当它是源自派生的拉取请求构建时,才运行彩色(在这种情况下,PR塞子与回购塞子不同) 。
基于引用的Travis文档,如果是推送构建,则TRAVIS_PULL_REQUEST_SLUG为空,如果是基于派生的PR构建,它将引用派生的回购所有者。无论哪种情况,它都将与TRAVIS_REPO_SLUG不同。因此,您可以肯定此条件的左侧是多余的。随时忽略它。