在我们大学,我们目前正在开发一个开源项目,作为项目课程的一部分 . 我们为我们的机构维持一个“私人”Slack,而我们没有单独的项目 . 因此,我们有几个与项目无关的渠道 .
由于Travis CI不支持通过电子邮件向组织的所有成员发送失败的构建,因此我们正在探索将Slack与Travis CI集成 .
然而,Travis < - > Slack令牌是"semi-secret",因此我们不愿意将我们的Slack劫持,将令牌放在我们的 .travis.yml
中,这是与项目其余部分一起进行版本控制的 .
Travis CI和Slack都鼓励加密令牌,但目前还不清楚这是否可以安全地将令牌包含在版本控制的 .travis.yml
中 .
当Slack没有完全专注于项目时,是否可以创建Slack < - > Travis集成?环境变量是否足以解决我们的安全问题?
1 回答
是的,在travis.yml中存储强加密的Slack令牌是公认的做法 . 将Travis-CI集成添加到Slack并获得令牌后,必须使用cli命令"encrypt"将新部分
notifications: slack: secure
插入到travis.yml中 .您从本地git repo文件夹运行此命令,使用来自Slack的令牌: -
另见:https://docs.travis-ci.com/user/notifications/#Slack-notifications
正如您提到的共享团队,您可以定位团队项目内的相关 Channels / Channels ,确保这些 Channels / Channels 使用
travis encrypt "account:token#channel" --add notifications.slack.rooms
加密: -加密私有/公共密钥是每个repo .
作为参考,您可以看到加密的实施方式,因为您可以验证它是否符合您组织的安全标准: - https://github.com/travis-ci/travis.rb/blob/master/lib/travis/cli/encrypt.rb