我使用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: test@test.com
recipients: [ user@test.com ]
time="2017-09-20T02:14:10Z" level=error msg="Error while dialing SMTP server: dial tcp :587: getsockopt: connection refused" dial tcp :587: getsockopt: connection refused
当我在yml文件中对值进行硬编码时,通知会起作用。所以我想知道我对秘密做错了什么或如何解决这个问题?
答案 0 :(得分:2)
您使用的语法${secret}
在无人机0.6中已弃用,并替换为以下语法:
pipeline:
notify:
image: drillster/drone-email
from: test@test.com
recipients: [ user@test.com ]
secrets: [EMAIL_HOST, EMAIL_PORT, EMAIL_USERNAME, EMAIL_PASSWORD]
上述语法指示无人机向插件提供所请求的秘密。秘密作为环境变量暴露在容器中,并由插件使用。
进一步阅读