2016-05-11 51 views
0

在我们的大学,我们目前正在开发一个开源项目作为项目课程的一部分。我们为我们的机构维护一个“私人”Slack,并且我们没有一个单独的项目。因此,我们有几个与该项目无关的渠道。Travis CI Slack集成开源项目

由于Travis CI不支持向组织发送失败的所有成员发送电子邮件,因此我们正在探索将Track CI与Slack整合在一起。

但是,Travis <-> Slack令牌是“半保密”,因此我们不愿意将我们的Slack劫持到我们的.travis.yml中,该版本与项目的其余部分一起进行版本控制。

Travis CI和Slack都鼓励对令牌进行加密,但不清楚这是否可以安全地将令牌包含在版本控制的.travis.yml中。

是否可行的创建一个Slack < - > Travis集成时,Slack并非完全致力于该项目?环境变量是否足以解决我们的安全问题?

回答

2

是的,在travis.yml中存储一个高度加密的Slack标记是可以接受的做法。将Travis-CI集成添加到Slack并添加令牌后,需要使用cli命令“encrypt”将新节notifications: slack: secure插入到travis.yml中。

您从您的本地git仓库的文件夹运行此命令,从松弛令牌: -

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' 

的encrypti在私人/公共密钥是每回购。

仅供参考,您可以看到加密是如何实现的,因为您可以验证它是否符合您组织的安全标准: - https://github.com/travis-ci/travis.rb/blob/master/lib/travis/cli/encrypt.rb