109 lines
3.5 KiB
Markdown
109 lines
3.5 KiB
Markdown
3) 外部 Agent 使用示例
|
||
|
||
在其他机器(非同一 docker 网络)的 agent:
|
||
|
||
```bash
|
||
export WOODPECKER_SERVER=ci-agent.jmsu.top:443 # Traefik TCP 对外端口
|
||
export WOODPECKER_AGENT_SECRET=3ad4d1a5fc1876bf126bafbcbd0c5b75afa944f299cdbb9e690e27db74766252
|
||
docker run --rm -e WOODPECKER_SERVER -e WOODPECKER_AGENT_SECRET \
|
||
-v /var/run/docker.sock:/var/run/docker.sock woodpeckerci/woodpecker-agent:latest
|
||
```
|
||
|
||
## 测试解析日志
|
||
|
||
```bash
|
||
curl -s http://100.64.0.1:8500/v1/agent/services \
|
||
| jq '.["woodpecker-web-100.64.0.27-8420"]'
|
||
```
|
||
|
||
## woodpecker 的其他镜像
|
||
|
||
1. woodpeckerci/plugin-gitea-release
|
||
|
||
用途:在 Gitea 上发布 Release。
|
||
|
||
典型场景:
|
||
|
||
当你在流水线里构建好二进制或打包好的产物后,可以用这个插件直接把产物上传到 Gitea 的 release 页面。
|
||
|
||
类似 GitHub Actions 里的 gh release create。
|
||
|
||
关键参数(pipeline yaml 里用的时候要传 env):
|
||
|
||
api_key: Gitea 的个人访问令牌
|
||
|
||
files: 需要上传的文件路径
|
||
|
||
base_url: Gitea 实例的 URL
|
||
|
||
title / note: Release 标题、描述
|
||
|
||
2. woodpeckerci/woodpecker-cli
|
||
|
||
用途:Woodpecker 的命令行客户端。
|
||
|
||
典型场景:
|
||
|
||
在 CI/CD 环境或本地 shell 中调用 Woodpecker API,触发/查询流水线。
|
||
|
||
类似 gh(GitHub CLI)、glab(GitLab CLI)。
|
||
|
||
功能示例:
|
||
|
||
woodpecker-cli info → 查看服务器信息
|
||
|
||
woodpecker-cli build start <repo> → 触发构建
|
||
|
||
woodpecker-cli build logs <build_id> → 查看日志
|
||
|
||
3. woodpeckerci/plugin-s3
|
||
|
||
用途:将构建产物上传到 S3 存储(或兼容 S3 的对象存储,例如 MinIO、Ceph RGW、阿里云 OSS、腾讯云 COS)。
|
||
|
||
典型场景:
|
||
|
||
构建产物(模型文件、Docker 镜像 tar 包、静态网站文件)上传到对象存储,方便下载或后续部署。
|
||
|
||
关键参数:
|
||
|
||
bucket:目标存储桶
|
||
|
||
access_key / secret_key:认证凭据
|
||
|
||
endpoint:对象存储的 API 地址
|
||
|
||
source:要上传的文件路径
|
||
|
||
4. woodpeckerci/plugin-git
|
||
|
||
用途:在流水线里进行 Git 操作(checkout、clone、push)。
|
||
|
||
典型场景:
|
||
|
||
默认情况下,Woodpecker agent 会自动 clone 对应的仓库,但如果你需要 额外操作 Git,比如 push 生成的文件回仓库、同步到另一个 repo,就会用到这个插件。
|
||
|
||
常见用法:
|
||
|
||
自动更新子模块
|
||
|
||
构建完成后,把生成的文档推送到 gh-pages / docs 分支
|
||
|
||
将版本号 tag 回写到仓库
|
||
|
||
| 镜像 | 主要功能 | 常见用途 |
|
||
| ---------------------- | --------------------------- | ---------------------------- |
|
||
| `plugin-gitea-release` | 在 Gitea 上创建 Release 并上传产物 | 发布二进制包 / 模型文件到 Gitea Release |
|
||
| `woodpecker-cli` | CLI 工具,管理 Woodpecker 服务器和构建 | 本地或 CI 脚本里触发/监控流水线 |
|
||
| `plugin-s3` | 上传产物到 S3 / 对象存储 | 存放模型、静态文件、备份 |
|
||
| `plugin-git` | 执行 Git 操作(clone/push) | 自动推送 tag、同步分支、更新文档 |
|
||
|
||
|
||
结合你的场景(LLM 微调 + 自动部署):
|
||
|
||
plugin-s3:可以把训练好的模型权重、日志直接上传到 MinIO/OSS,方便分发。
|
||
|
||
plugin-gitea-release:你可以在 Gitea release 里发一个“训练完成的模型包”。
|
||
|
||
plugin-git:可以在训练完成后自动 push 版本号/配置文件回到仓库。
|
||
|
||
woodpecker-cli:你本地调试流水线、或在另一台机器上触发/监控 build。 |