Travis CI Slack集成开源项目

时间:2016-05-11 08:07:07

标签: security version-control open-source travis-ci slack

在我们的大学,我们目前正在开发一个开源项目,作为项目课程的一部分。我们保持私人"我们机构的松弛,我们没有单独的项目。因此,我们有几个与项目无关的渠道。

由于Travis CI不支持通过电子邮件发送组织失败构建的所有成员,因此我们正在探索将Slack与Travis CI集成。

然而,Travis< - >松弛令牌是半秘密"因此我们不喜欢将令牌放入我们的.travis.yml内部,而.travis.yml是与项目其余部分一起进行版本控制的。

Travis CI和Slack都鼓励加密令牌,但目前还不清楚这是否可以安全地将令牌包含在受控版本$u->where('test', $test); $u->where('test', $test); $u->get(); $total = count($u->all); 中。

创建Slack< - >是否可行?当Slack没有完全致力于该项目时,Travis整合?环境变量是否足以解决我们的安全问题?

1 个答案:

答案 0 :(得分:2)

是的,在travis.yml中存储强加密的Slack令牌是公认的做法。将Travis-CI集成添加到Slack并拥有令牌后,必须使用cli命令“encrypt”将新段notifications: slack: secure插入到travis.yml中。

您从本地git repo文件夹运行此命令,使用来自Slack的令牌: -

travis encrypt "myaccount:aa1BBBBBcCCCC111122" --add notifications.slack

另请参阅:https://docs.travis-ci.com/user/notifications/#Slack-notifications

正如您提到的共享团队,您可以定位团队项目中的相关渠道/渠道,确保使用travis encrypt "account:token#channel" --add notifications.slack.rooms加密:

notifications:
  slack: '<account>:<token>#development'

加密私钥/公钥是每个repo。

作为参考,您可以查看加密的实施方式,因为您可以验证它是否符合您组织的安全标准: - https://github.com/travis-ci/travis.rb/blob/master/lib/travis/cli/encrypt.rb