CI CD
This commit is contained in:
87
CI_CD/Jenkins_install.md
Normal file
87
CI_CD/Jenkins_install.md
Normal file
@ -0,0 +1,87 @@
|
||||
Install by docs from https://www.cherryservers.com/blog/install-jenkins-ubuntu
|
||||
|
||||
## Prepare installation
|
||||
|
||||
Открываю нужный сервер
|
||||
```sh
|
||||
wsl
|
||||
```
|
||||
```sh
|
||||
sudo apt update
|
||||
```
|
||||
```sh
|
||||
sudo apt upgrade
|
||||
```
|
||||
```sh
|
||||
sudo apt install openjdk-21-jdk openjdk-21-jre -y &&
|
||||
java -version
|
||||
```
|
||||
## Add Jenkins Repository
|
||||
|
||||
```sh
|
||||
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
|
||||
```
|
||||
Next, add the Jenkins repository to your system’s sources.list:
|
||||
```sh
|
||||
sudo sh -c 'echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo apt install jenkins -y
|
||||
```
|
||||
If the software was installed incorrectly, you can reinstall it after uninstalling it first.:
|
||||
```sh
|
||||
sudo apt remove --purge jenkins
|
||||
```
|
||||
|
||||
```sh
|
||||
jenkins --version
|
||||
```
|
||||
|
||||
Try run jenkins without service
|
||||
```sh
|
||||
sudo -u jenkins /usr/bin/jenkins --httpPort=8081 --httpListenAddress=0.0.0.0
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo mcedit /lib/systemd/system/jenkins.service
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo systemctl start jenkins &&
|
||||
sudo systemctl enable jenkins &&
|
||||
sudo systemctl status jenkins
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo journalctl -xeu jenkins.service | tail -n 50
|
||||
```
|
||||
Если порт занят, проверяем кем:
|
||||
```sh
|
||||
sudo lsof -i :8081
|
||||
```
|
||||
Переопределяем порт:
|
||||
```sh
|
||||
sudo mcedit /etc/default/jenkins
|
||||
```
|
||||
```conf
|
||||
HTTP_PORT=8081
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo systemctl restart jenkins
|
||||
```
|
||||
|
||||
```sh
|
||||
start http://127.0.0.1:8081
|
||||
```
|
||||
|
||||
|
||||
See what port in locked
|
||||
```sh
|
||||
netstat -tpln
|
||||
```
|
||||
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/
|
||||
Reference in New Issue
Block a user