精选NAS应用商店
NasAppStore为飞牛OS、群晖、威联通等NAS系统提供海量精选免费适配应用,一站式安装管理,帮您轻松打造多媒体家庭私有云中心,发掘NAS更多潜力。

Woodpecker CI - 轻量级开源持续集成引擎,适合在NAS上部署

woodpecker-ci

应用介绍

Woodpecker CI 是一个简单而强大的开源持续集成/持续部署(CI/CD)引擎,具有优秀的可扩展性。它是基于 Drone CI 分叉开发的项目,保持了简单易用的设计理念,同时去除了限制,完全开放源代码。

Woodpecker CI 使用基于 Docker 的架构,每个流水线任务都在独立的 Docker 容器中运行,环境隔离干净,配置简单。它非常适合部署在个人NAS上,为你的个人开源项目提供自动化构建和部署服务。

Woodpecker CI 的优势: - 资源占用极低:服务器空闲时仅占用约 100MB 内存,Agent 仅占用 30MB,非常适合在NAS上运行 - 配置简单:使用 YAML 文件配置流水线,语法简洁易懂 - 扩展性强:丰富的插件生态系统,可以轻松构建、测试、部署各种项目 - 支持多种Git服务商:GitHub、GitLab、Gitea、Codeberg 等都支持 - 完全开源:Apache 2.0 协议,没有功能限制,不需要付费订阅

Woodpecker CI 界面
Woodpecker CI 界面

安装说明

前提依赖

  • 支持 Docker 和 Docker Compose 的NAS系统
  • 至少 1GB 内存,Woodpecker 本身资源占用很低,构建任务需要更多资源
  • 需要配置公网访问,以便Git服务商触发Webhook

安装配置

Woodpecker 采用服务器+代理架构,以下是Docker Compose配置示例:

version: '3'

services:
  woodpecker-server:
    image: woodpeckerci/woodpecker-server:latest
    ports:
      - 8000:8000
      - 9000:9000
    volumes:
      - woodpecker-server-data:/var/lib/woodpecker/
    environment:
      - WOODPECKER_OPEN=true
      - WOODPECKER_ADMIN=your-username
      - WOODPECKER_HOST=https://your-ci-domain.com
    restart: unless-stopped

  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:latest
    command: agent
    restart: unless-stopped
    depends_on:
      - woodpecker-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WOODPECKER_SERVER=woodpecker-server:9000
      - WOODPECKER_TOKEN=your-agent-token

volumes:
  woodpecker-server-data:

配置说明: - WOODPECKER_OPEN:允许用户注册,设置为 true 开启 - WOODPECKER_ADMIN:设置管理员用户名 - WOODPECKER_HOST:设置你的CI服务器访问地址 - 需要挂载 Docker socket 让 Agent 能够启动构建容器

使用说明

  1. 启动服务后访问服务器地址,使用Git账号登录
  2. 在个人设置中激活需要构建的仓库
  3. 在仓库根目录创建 .woodpecker.yaml 配置文件
  4. 示例配置:
pipeline:
  test:
    image: golang:1.22
    commands:
      - go test -v ./...

  build:
    image: golang:1.22
    commands:
      - go build -o myapp .
  1. 提交代码后会自动触发流水线构建
  2. 可以在Woodpecker界面查看构建日志和结果
  3. 支持分支过滤、标签触发、定时构建等多种触发方式

Woodpecker CI 拥有丰富的插件生态,可以实现Docker镜像构建、推送至镜像仓库、部署到服务器、发送通知等各种功能。

开源信息

  • GitHub 地址: https://github.com/woodpecker-ci/woodpecker
  • 官方网站: https://woodpecker-ci.org
  • 文档地址: https://woodpecker-ci.org/docs/intro
  • 插件库: https://woodpecker-ci.org/plugins
  • 开源协议: Apache-2.0