Files
Ubuntu_docs/CI_CD/Woodpecker_CI.md
Igor I ba1914f646 CI CD
2025-06-26 16:59:41 +05:00

3.9 KiB
Raw Blame History

Установка Woodpecker CI на Ubuntu с Gitea


🛠️ Системные требования

  • Ubuntu 20.04+ (работает и на 22.04)
  • Docker и Docker Compose
  • Установленный Gitea (можно локально или через Docker)

📦 Шаг 1: Установка Docker и Docker Compose

sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo usermod -aG docker $USER

⚠️ После добавления пользователя в группу docker нужно перелогиниться, чтобы изменения вступили в силу.


🧱 Шаг 2: Установка Gitea через Docker Compose

Создайте директорию gitea, и в ней файл docker-compose.yml:

version: "3"

services:
  gitea:
    image: gitea/gitea:latest
    container_name: gitea
    restart: always
    environment:
      - USER_UID=1000
      - USER_GID=1000
    volumes:
      - ./gitea:/data
    ports:
      - "3000:3000"
      - "2222:22"
mkdir gitea && cd gitea
docker-compose up -d

Теперь Gitea будет доступна по адресу: http://localhost:3000


🔐 Шаг 3: Настройка Gitea

  1. Перейдите в браузере на http://localhost:3000
  2. Пройдите установку:
    • База данных: SQLite или PostgreSQL (по желанию)
    • URL: http://gitea:3000/
    • Включите регистрацию, если нужно
  3. Создайте пользователя (например, ci-user)
  4. Сгенерируйте токен доступа (access token), он будет нужен для Woodpecker

🚀 Шаг 4: Установка Woodpecker CI

Создайте директорию woodpecker, и в ней файл docker-compose.yml:

version: "3"

services:
  woodpecker-server:
    image: woodpeckerci/woodpecker-server:latest
    container_name: woodpecker-server
    restart: always
    environment:
      - WOODPECKER_OPEN=true
      - WOODPECKER_HOST=http://localhost:8000
      - WOODPECKER_GITEA=true
      - WOODPECKER_GITEA_URL=http://gitea:3000
      - WOODPECKER_GITEA_CLIENT=your_client_id
      - WOODPECKER_GITEA_SECRET=your_client_secret
      - WOODPECKER_SECRET=supersecret
    ports:
      - "8000:8000"
    volumes:
      - ./data:/var/lib/woodpecker/
    depends_on:
      - gitea

  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:latest
    container_name: woodpecker-agent
    restart: always
    environment:
      - WOODPECKER_SERVER=woodpecker-server:9000
      - WOODPECKER_SECRET=supersecret
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

⚙️ Шаг 5: Создание OAuth App в Gitea

  1. Перейдите в Gitea → SettingsApplications
  2. Создайте новое приложение (OAuth2)
    • Redirect URI: http://localhost:8000/login
  3. Получите Client ID и Client Secret
  4. Вставьте их в WOODPECKER_GITEA_CLIENT и WOODPECKER_GITEA_SECRET

▶️ Шаг 6: Запуск Woodpecker

docker-compose up -d

После запуска Woodpecker будет доступен по адресу: http://localhost:8000


📁 Пример .woodpecker.yml файла

pipeline:
  build:
    image: node:alpine
    commands:
      - npm install
      - npm test

Готово!

Теперь вы можете подключать репозитории из Gitea и запускать CI-пайплайны в Woodpecker.


🔗 Полезные ссылки