CI CD
This commit is contained in:
153
CI_CD/Woodpecker_CI.md
Normal file
153
CI_CD/Woodpecker_CI.md
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
|
||||||
|
# Установка 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/
|
||||||
@ -51,8 +51,14 @@ O:\MyDocuments\DataBases\postgresql-10.13-1-windows-x64-binaries\pgsql\bin\initd
|
|||||||
sudo -u postgres psql &&
|
sudo -u postgres psql &&
|
||||||
\password postgres
|
\password postgres
|
||||||
```
|
```
|
||||||
|
Или так можно поменять пароль через SQL скрипт
|
||||||
|
```sql
|
||||||
|
ALTER ROLE postgres WITH PASSWORD 'SerTestSecrKey1' VALID UNTIL 'infinity';
|
||||||
|
```
|
||||||
Чтобы выйти нужно выпольнить команду: \q
|
Чтобы выйти нужно выпольнить команду: \q
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Роль входа по умолчанию: postgres пароль можно поменять когда в pg_hba.conf установить trust
|
Роль входа по умолчанию: postgres пароль можно поменять когда в pg_hba.conf установить trust
|
||||||
Задать пароль:
|
Задать пароль:
|
||||||
sudo -u postgres psql
|
sudo -u postgres psql
|
||||||
|
|||||||
@ -8,13 +8,13 @@ ssh ivanov_i@10.101.1.3
|
|||||||
ssh ivanov_i@10.201.1.3 -p 22
|
ssh ivanov_i@10.201.1.3 -p 22
|
||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```shsudo mc
|
||||||
psql -h 10.101.1.6 -U user_developer_igor_i -d transit
|
psql -h 10.101.1.6 -U user_developer_igor_i -d transit
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
psql -h 10.201.1.6 -U postgres -d transit
|
psql -h 10.201.3.36 -U postgres -d transit
|
||||||
```
|
```
|
||||||
|
|
||||||
## Логи по Базе
|
## Логи по Базе
|
||||||
|
|||||||
@ -525,7 +525,7 @@ sudo sed -i 's/AllowOverride None/AllowOverride All/g' /etc/apache2/apache2.conf
|
|||||||
```
|
```
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo a2enmod php8.0
|
sudo a2enmod php8.1
|
||||||
sudo a2enmod ssl #Так как в последнее время делаю через haproxy то SSL в апачи не использую
|
sudo a2enmod ssl #Так как в последнее время делаю через haproxy то SSL в апачи не использую
|
||||||
sudo a2enmod headers
|
sudo a2enmod headers
|
||||||
sudo a2enmod expires
|
sudo a2enmod expires
|
||||||
@ -648,7 +648,7 @@ https://apache-windows.ru/apache-ssl-переход-apache-на-https/
|
|||||||
sudo a2dissite jwt2.local.conf
|
sudo a2dissite jwt2.local.conf
|
||||||
sudo a2dissite jwt.local.conf
|
sudo a2dissite jwt.local.conf
|
||||||
|
|
||||||
|
sudo a2dissite aistransit.kz.conf
|
||||||
|
|
||||||
http://aistransit.kz/
|
http://aistransit.kz/
|
||||||
|
|
||||||
@ -969,6 +969,7 @@ DefaultRoot ~
|
|||||||
ServerIdent on "FTP Server ready."
|
ServerIdent on "FTP Server ready."
|
||||||
RequireValidShell off
|
RequireValidShell off
|
||||||
AuthUserFile /etc/proftpd/ftpd.passwd
|
AuthUserFile /etc/proftpd/ftpd.passwd
|
||||||
|
PassivePorts 40000 40100
|
||||||
|
|
||||||
Для создания нового виртуального пользователя "tester" "firsttester" в файле выполнить комманду (uid и gid должны быть как у пользователя www-data смотри: cat /etc/passwd и cat /etc/group)
|
Для создания нового виртуального пользователя "tester" "firsttester" в файле выполнить комманду (uid и gid должны быть как у пользователя www-data смотри: cat /etc/passwd и cat /etc/group)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user