- 插件示例
插件示例
本文提供一个简要教程,演示如何使用简单的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