我们在drone.io 0.4中工作得很好,但是自从我们更新到0.5后,尽管我尝试了documentation,但我还是无法让它工作。
以前,它是这样的
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根据文档,slack现在在流水线(以前的构建)级别内缩进。
我试着像以前一样修改notify的slack,只通过drone使用SLACK_WEBHOOK密钥,还有其他我尝试过的东西。
有人知道我可能做错了什么吗?
发布于 2017-03-27 22:10:42
这是我使用的(几乎完全正确的) yaml,启用了松弛通知,只是我屏蔽了凭据
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配置)
如果您正在尝试使用密钥(通过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
发布于 2017-03-28 21:12:35
问题是,在0.4中,notify插件位于管道范围之外(当时是构建的),而现在0.5版本的通知插件位于管道内部。这与当管道失败时它立即退出作用域的事实相结合,这意味着slack (然后是notify)步骤再也不会到达。
这个问题的解决方案是显式地告诉它在失败时使用when命令执行步骤:
when:
status: [ success, failure ]这实际上是在入门指南中提到的,但我直到最后才完成,因为我的目标是快速启动并运行它,而不是担心我认为是边缘情况。
https://stackoverflow.com/questions/43048058
复制相似问题