docker - 使用无人机电子邮件插件时,无人机 CI 不会看到 secret 变量

标签 docker drone.io

我正在使用drone-ci (0.8.0-rc.5) 作为 CI 工具和 drone-email用于发送电子邮件的插件。如果构建成功或失败,我想发送通知。我使用 Gmail SMTP 服务器发送电子邮件。

我的 .drone.yml 文件:

notify:
  image: drillster/drone-email
  host: ${EMAIL_HOST}
  port: ${EMAIL_PORT}
  username: ${EMAIL_USERNAME}
  password: ${EMAIL_PASSWORD}
  from: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c7b3a2b4b387b3a2b4b3e9a4a8aa" rel="noreferrer noopener nofollow">[email protected]</a>
  recipients: [ <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="671214021527130214134904080a" rel="noreferrer noopener nofollow">[email protected]</a> ]

secret 的配置如下图所示: enter image description here 构建完成后,我收到以下异常:

time="2017-09-20T02:14:10Z"level=error msg="调用 SMTP 服务器时出错:调用 tcp :587: getsockopt: 连接被拒绝"调用 tcp :587: getsockopt: 连接被拒绝

当我在 yml 文件中对值进行硬编码时,通知会起作用。所以我想知道我在 secret 方面做错了什么或者如何解决这种情况?

最佳答案

您使用的语法 ${secret} 在无人机 0.6 中已弃用,并替换为以下语法:

pipeline:
  notify:
    image: drillster/drone-email
    from: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="97e3f2e4e3d7e3f2e4e3b9f4f8fa" rel="noreferrer noopener nofollow">[email protected]</a>
    recipients: [ <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="89fcfaecfbc9fdecfafda7eae6e4" rel="noreferrer noopener nofollow">[email protected]</a> ]
    secrets: [EMAIL_HOST, EMAIL_PORT, EMAIL_USERNAME, EMAIL_PASSWORD]

上述语法指示无人机向插件提供请求的 secret 。 secret 作为环境变量公开到容器中并由插件使用。

进一步阅读

关于docker - 使用无人机电子邮件插件时,无人机 CI 不会看到 secret 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46312429/

相关文章:

django - 如何与Django一起使用Dokku?

bash - 未在 AWS CODEBUILD 上设置环境变量

docker - Docker 容器的真实世界用例是什么?

docker - Drone - 使用 Drone.yml 自定义日期时间字符串格式命名 docker 图像标签

docker - 使用drone.yml 创建 Spark 集群不起作用

docker - Hyperledger Composer 添加一个新的节点

docker - 调查 Docker 连接问题

javascript - 具体来说,使用Drone IO有哪些优势?

drone.io - 我可以在 .drone.file 中公开端口吗?无人机.io

node.js - 如何在 Travis CI 上的一个项目中运行 Golang 和 Karma 测试