Bash 插件示例

这个简单的教程使用 shell 脚本来生成一个 Drone webhook 插件,在构建工作流中生成 http 请求。下面的例子展示了我们在 yaml 文件中如何配置 webhook 插件:

pipeline:
  webhook:
    image: foo/webhook
    url: http://foo.com
    method: post
    body: |
      hello world

使用 yaml 参数来使用简单的 shell 脚本来启动 curl 命令,这些参数是使用前置字符串全大写 PLUGIN_ 的环境变量:

#!/bin/sh

curl \
  -X ${PLUGIN_METHOD} \
  -d ${PLUGIN_BODY} \
  ${PLUGIN_URL}

新建一个 Dockerfile ,并将 shell 脚本添加到这个镜像中,并将 shell 脚本作为镜像运行的入口。

FROM alpine
ADD script.sh /bin/
RUN chmod +x /bin/script.sh
RUN apk -Uuv add curl ca-certificates
ENTRYPOINT /bin/script.sh

构建和发布镜像到 Docker registry。镜像发布后你的插件就可以被 Drone 社区的用户使用。

docker build -t foo/webhook .
docker push foo/webhook

在本地执行你的插件来确定你的插件的运行情况:

docker run --rm \
  -e PLUGIN_METHOD=post \
  -e PLUGIN_URL=http://foo.com \
  -e PLUGIN_BODY="hello world" \
  foo/webhook

这个网页有没有错误? 请让我们知道 或编辑 这个页面