插件是执行预定义任务并配置为流水线中步骤的 Docker 容器。插件可用于部署代码、发布制品、发送通知等。
以下是使用 Docker 和 Slack 插件的流水线示例:
|
|
插件只是 Docker 容器,这意味着你可以使用在容器内运行的任何编程语言编写插件。你甚至可以使用简单的 bash 脚本创建插件。
源代码
插件自动访问相关源代码并提交构建,作为卷安装到插件容器中。该插件也会在当前工作目录设置为 git 存储库的根目录时启动。该插件不需要克隆或检出代码;这是由 Drone 处理的。
插件输入
插件参数在流水线步骤的设置部分定义,并作为环境变量传递给插件容器。环境变量有前缀以防止命名冲突。
-
以下是示例插件配
1 2 3 4 5 6 7 8 9
- name: publish image: plugins/docker settings: username: kevinbacon password: pa55word repo: foo/bar tags: - 1.0.0 - 1.0
-
以下是传递给容器的示例插件变量
1 2 3 4
PLUGIN_USERNAME=kevinbacon PLUGIN_PASSWORD=pa55word PLUGIN_REPO=foo/bar PLUGIN_TAGS=1.0.0,1.0
插件参数可以是任何原始类型或原始类型数组。数组被转换为逗号分隔的字符串。
插件分发
插件作为 Docker 镜像分发。你可以将插件发布到任何 Docker 注册表,无论是私有的还是公共的,以便在你的组织内部或与更广泛的开发人员社区共享插件。
插件注册表
Drone 插件注册表是由 Drone 社区创建的开源插件列表。想要将你的插件添加到注册表?向我们发送 Pull Request,将你的插件添加到注册表网站。
浏览插件注册表