2016-05-11 73 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