2017-03-27 70 views
2

我們在drone.io 0.4中工作的鬆散通知很好,但由於我們更新到0.5,所以儘管嘗試使用documentation,但仍無法正常工作。drone.io 0.5鬆弛不再工作

之前,它是這樣

build: 

    build and deploy stuff... 

notify: 
    slack: 
    webhook_url: $$SLACK_WEBHOOK_URL 
    channel: continuous_integratio 
    username: drone 

你可以在這裏看到我用$$引用的舊的特殊無人機配置文件。

現在我的最新嘗試,看起來像這樣

pipeline: 

    build and deploy stuff... 

    slack: 
    image: plugins/slack 
    webhook: https://hooks.slack.com/services/... 
    channel: continuous_integratio 
    username: drone 

根據文檔鬆弛現在管道內縮進(以前版本)的水平。

我試着改變slacknotify像以前一樣,使用SLACK_WEBHOOK祕密只有通過無人機cli和那裏我嘗試以及其他事情。

有誰知道我可能會做錯什麼?

回答

2

這是我與我所掩蓋的憑據

pipeline: 
    build: 
    image: golang 
    commands: 
     - go build 
     - go test 

    slack: 
    image: plugins/slack 
    webhook: https://hooks.slack.com/services/XXXXXXXXX/YYYYYYYYY/ZZZZZZZZZZZZZZZZZZZZZZZZ 
    when: 
     status: [ success, failure ] 

例外啓用鬆弛通知使用(幾乎精確)YAML有一個在你的榜樣不幸的是什麼,跳出來,也許與例外的渠道名稱有一個錯字(儘管我不確定這是否代表你真正的yaml配置)

如果你正試圖使用​​祕密(通過cli),你需要確保你簽署你的yaml文件並將簽名文件提交到您的存儲庫。然後,您可以參考你的祕密在YAML類似0.4,但有一點不同的格式:

pipeline: 
    build: 
    image: golang 
    commands: 
     - go build 
     - go test 

    slack: 
    image: plugins/slack 
    webhook: ${SLACK_WEBHOOK} 
    when: 
     status: [ success, failure ] 

您可以在http://readme.drone.io/usage/secret-guide/

閱讀更多關於祕密,你也可以直接在命令行來調用插件幫助測試不同的輸入值。這可以幫助調試。請參閱https://github.com/drone-plugins/drone-slack#usage

+0

謝謝,儘管我確實嘗試了webhook替換,並且簽署了我的drone.yml文件。 也許我需要'when'部分。我會嘗試 –

+0

另外,'continuous_integratio'正是如何拼寫的(可能是由於名稱長度的限制) –

+0

如果您希望某個步驟在失敗時執行,則需要when/status。Drone在出現故障時立即退出管道,不會執行任何後續步驟,除非另有配置。 –

0

問題在於,0.4通知插件位於管道範圍之外(然後構建),現在自0.5位於管道內。這與管道故障時立即退出範圍的事實相結合,這意味着slack(然後notify)步驟再也無法達到了。

對此的解決方法就是明確告訴它執行與when命令失敗步驟:

when: 
    status: [ success, failure ] 

這在入門指南中提到的實際上,雖然,但我沒有一直到最後,因爲我的目標是快速啓動並運行,並不擔心我認爲是邊緣案例。