Bashプラグインの例
これは、単純なシェルスクリプトを使用して、ビルドパイプライン中にhttpリクエストを行うDroneウェブフックプラグインを作成するための簡単なチュートリアルを提供します。以下の例は、Yamlファイルでウェブフックプラグインを構成する方法を示しています。
1 kind: pipeline
2 type: docker
3 name: default
4
5 steps:
6 - name: webhook
7 image: acme/webhook
8 settings:
9 url: http://hook.acme.com
10 method: post
11 body: |
12 hello world
Yamlで定義されたプラグイン設定を使用してcurlを呼び出す単純なシェルスクリプトを作成します。このプラグインは、PLUGIN_
で始まる大文字の環境変数としてプログラムに渡されます。
1 #!/bin/sh
2
3 curl \
4 -X ${PLUGIN_METHOD} \
5 -d ${PLUGIN_BODY} \
6 ${PLUGIN_URL}
シェルスクリプトをイメージに追加するDockerfileを作成し、シェルスクリプトをメインエントリポイントとして実行するようにイメージを構成します。
1 FROM alpine
2 ADD script.sh /bin/
3 RUN chmod +x /bin/script.sh
4 RUN apk -Uuv add curl ca-certificates
5 ENTRYPOINT /bin/script.sh
プラグインをビルドしてDockerレジストリに公開します。公開されたプラグインは、幅広いDroneコミュニティと共有できます。
$ docker build -t acme/webhook .
$ docker push acme/webhook
コマンドラインからプラグインをローカルで実行して、プラグインが機能していることを確認します。
$ docker run --rm \
-e PLUGIN_METHOD=post \
-e PLUGIN_URL=http://hook.acme.com \
-e PLUGIN_BODY=hello \
acme/webhook