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

154 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Установка Woodpecker CI на Ubuntu с Gitea
---
## 🛠️ Системные требования
- Ubuntu 20.04+ (работает и на 22.04)
- Docker и Docker Compose
- Установленный Gitea (можно локально или через Docker)
---
## 📦 Шаг 1: Установка Docker и Docker Compose
```bash
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`:
```yaml
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"
```
```bash
mkdir gitea && cd gitea
docker-compose up -d
```
Теперь Gitea будет доступна по адресу: [http://localhost:3000](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`:
```yaml
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 → `Settings``Applications`
2. Создайте новое приложение (OAuth2)
- Redirect URI: `http://localhost:8000/login`
3. Получите `Client ID` и `Client Secret`
4. Вставьте их в `WOODPECKER_GITEA_CLIENT` и `WOODPECKER_GITEA_SECRET`
---
## ▶️ Шаг 6: Запуск Woodpecker
```bash
docker-compose up -d
```
После запуска Woodpecker будет доступен по адресу: [http://localhost:8000](http://localhost:8000)
---
## 📁 Пример `.woodpecker.yml` файла
```yaml
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/