前言
前两天开始折腾 Drone CI 编译完成后做自动消息推送,找了一圈发现没有 Drone 的 Bark 插件,于是用了点时间造了个插件。
Drone-Bark 是为 Drone 持续集成系统设计的一个便捷插件。它的主要功能是发送 Bark 通知,使开发人员能直接在他们的 iOS 设备上获得 CI/CD 状态的推送。
设置
Drone-Bark 提供了一系列设置,您可以根据您的偏好进行设置。
设置 | 是否必须 | 描述 |
server_url | 否 | 设置 Bark 服务器 URL,留空则使用 https://api.day.app(官方) |
bark_device | 是 | 设置 Bark 设备密钥 |
icon | 否 | 在 iOS 中设置通知图标 |
bark_group | 否 | 设置通知组 |
bark_level | 否 | 设置通知级别。选项包括 active(默认,系统将立即显示通知)、timeSensitive(Bark 将发送一个可以在专注模式下显示的时效性消息)和 passive(Bark 只会将此消息添加到通知列表中,而不会亮屏) |
sound | 否 | 设置 Bark 通知声音 |
使用方法
在 .drone.yml
中,将下面的 step 添加到最后一个步骤即可自动发送通知。
kind: pipeline
name: default
steps:
- name: notify
image: 0xJacky/drone-bark
pull: if-not-exists
settings:
server_url: foo
bark_device:
from_secret: bark_device
icon: foobar
bark_group: Drone CI
bark_level: active
bark_sound: silence
开发与测试
要构建 Drone-Bark 插件,可以直接使用 Docker。以下是命令:
docker build -t 0xJacky/drone-bark
测试 Drone-Bark 插件可以通过从当前工作目录执行。下面是示例命令:
docker run --rm -e PLUGIN_SERVER_URL=foo -e PLUGIN_BARK_DEVICE=bar \
-e PLUGIN_ICON=foo -e PLUGIN_BARK_GROUP=Drone\ CI \
-e PLUGIN_BARK_LEVEL=timeSensitive -e PLUGIN_BARK_SOUND=minuet \
-e DRONE_COMMIT_SHA=8f51ad7884c5eb69c11d260a31da7a745e6b78e2 \
-e DRONE_COMMIT_BRANCH=master \
-e DRONE_BUILD_NUMBER=43 \
-e DRONE_REPO_NAMESPACE=0xJacky \
-e DRONE_REPO_NAME=drone-bark
-e DRONE_BUILD_STATUS=success \
-w /drone/src \
-v $(pwd):/drone/src \
0xJacky/drone-bark
评论 (0)