3.9 KiB
3.9 KiB
Установка 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
- Перейдите в браузере на
http://localhost:3000 - Пройдите установку:
- База данных: SQLite или PostgreSQL (по желанию)
- URL:
http://gitea:3000/ - Включите регистрацию, если нужно
- Создайте пользователя (например,
ci-user) - Сгенерируйте токен доступа (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
- Перейдите в Gitea →
Settings→Applications - Создайте новое приложение (OAuth2)
- Redirect URI:
http://localhost:8000/login
- Redirect URI:
- Получите
Client IDиClient Secret - Вставьте их в
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.
🔗 Полезные ссылки
- Woodpecker CI: https://woodpecker-ci.org/
- Gitea: https://gitea.io/
- Документация Woodpecker: https://woodpecker-ci.org/docs/