• 插件示例

插件示例

本文提供一个简要教程,演示如何使用简单的shell脚本创建悟空 webhook插件,以便在构建流水线期间发出HTTP请求.

最终用户将看到什么

下面的示例演示了如何在YAML文件中配置webhook插件:

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

编写逻辑

创建一个简单的shell脚本,使用YAML配置参数调用curl,这些参数作为大写的环境变量传递给脚本,并以_PLUGIN为前缀.

打包 创建一个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仓库.发布后,您的插件可以与更广泛的悟空社区共享.

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

在命令行中从本地执行您的插件以验证其是否正常工作:

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