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