您的第一个管道
让我们开始创建您的第一个管道。
1. 仓库激活
要在 Woodpecker 中激活您的仓库,请导航到仓库列表并点击 新建仓库。您将看到来自您的代码托管平台(GitHub、GitLab 等)的仓库列表,只需简单点击即可激活。

要在 Woodpecker 中启用仓库,您必须拥有该仓库的 管理员 权限,这样 Woodpecker 才能添加称为 webhook 的东西(Woodpecker 需要它来了解推送、拉取请求、标签等操作)。
2. 定义第一个工作流
启用仓库后,Woodpecker 将监听您仓库中的更改。当检测到更改时,Woodpecker 将检查管道配置。让我们在您的仓库内创建一个文件 .woodpecker/my-first-workflow.yaml:
when:
- event: push
branch: main
steps:
- name: build
image: debian
commands:
- echo "这是构建步骤"
- echo "binary-data-123" > executable
- name: a-test-step
image: golang:1.16
commands:
- echo "正在测试..."
- ./executable
那么我们在这里做了什么?
-
我们定义了您的第一个工作流文件
my-first-workflow.yaml。 -
当在
main分支上发生推送事件时,此工作流将被执行, 因为我们使用when部分添加了过滤器:+ when:
+ - event: push
+ branch: main
... -
我们定义了两个步骤:
build和a-test-step
这些步骤按照定义的顺序执行,因此 build 将首先执行,然后是 a-test-step。
在 build 步骤中,我们使用 debian 镜像并构建一个名为 executable 的"二进制文件"。
在 a-test-step 中,我们使用 golang:1.16 镜像并运行 executable 文件来测试它。
您可以使用您有权访问的注册表(如 Docker Hub)中的任何镜像:
steps:
- name: build
- image: debian
+ image: my-company/image-with-aws_cli
commands:
- aws help
3. 推送文件并触发第一个管道
如果您现在将此文件推送到您的仓库,Woodpecker 将已经执行您的第一个管道。
您可以通过导航到仓库的 管道 部分在 Woodpecker UI 中检查管道执行情况。

正如您可能注意到的,还有另一个名为 clone 的步骤在您的步骤之前执行。此步骤将您的仓库克隆到名为 workspace 的文件夹中,该文件夹在所有步骤中都可用。
例如,这允许第一步使用您的源代码构建应用程序,而第二步将接收相同的工作空间,它可以使用先前构建的二进制文件并测试它。
4. 使用插件执行可重用任务
有时您在每个项目中都需要执行一些任务。例如,部署到 Kubernetes 或发送 Slack 消息。因此,您可以使用官方和社区插件之一,或者简单地创建您自己的插件。
如果您想将文件发布到 S3 存储桶,可以将 S3 插件添加到您的管道中:
steps:
# ...
- name: upload
image: woodpeckerci/plugin-s3
settings:
bucket: my-bucket-name
access_key: a50d28f4dd477bc184fbd10b376de753
secret_key:
from_secret: aws_secret_key
source: public/**/*
target: /target/location
要配置插件,您可以使用 settings 部分。
有时您需要向插件提供密钥。您可以通过使用 from_secret 键来完成此操作。密钥必须在 Woodpecker UI 中定义。您可以在密钥相关文档中找到更多信息。
与文件顶部用于完整工作流的 when 部分类似,您可以为每个步骤使用 when 部分来定义何时应执行步骤。
了解更多关于插件的信息。
既然您现在对如何创建管道有了基本了解,您可以深入了解工作流语法和插件的相关内容。