This commit is contained in:
2025-06-26 20:17:49 +05:00
5 changed files with 257 additions and 91 deletions

View File

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

153
CI_CD/Woodpecker_CI.md Normal file
View 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/

View File

@ -24,7 +24,7 @@ O:\MyDocuments\DataBases\postgresql-10.13-1-windows-x64-binaries\pgsql\bin\initd
``` ```
Или так если нужно установить PostGIS Или так если нужно установить PostGIS
```sh ```sh
sudo apt-get install postgis sudo apt-get install postgis -y
``` ```
Для удаления PostGIS в месте с зависимыми пакетами: Для удаления PostGIS в месте с зависимыми пакетами:
```sh ```sh
@ -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

View File

@ -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
``` ```
## Логи по Базе ## Логи по Базе

View File

@ -527,7 +527,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
@ -650,7 +650,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/
@ -971,6 +971,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)
@ -981,8 +982,14 @@ AuthUserFile /etc/proftpd/ftpd.passwd
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=apk --uid=33 --gid=33 --home=/var/www/istransit.kz/apk --shell=/bin/false sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=apk --uid=33 --gid=33 --home=/var/www/istransit.kz/apk --shell=/bin/false
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=rebezov.a --uid=33 --gid=33 --home=/var/www/test2.istransit.kz --shell=/bin/false sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=rebezov.a --uid=33 --gid=33 --home=/var/www/test2.istransit.kz --shell=/bin/false
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=rebezov.a --uid=33 --gid=33 --home=/opt/www/istransit.kz --shell=/bin/false sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=rebezov.a --uid=33 --gid=33 --home=/opt/www/istransit.kz --shell=/bin/false
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=jointech --uid=33 --gid=33 --home=/opt/SServerJointech/ftp --shell=/bin/false
Задал пароль для apk пользователя: vooOtKBb7bckcNh Задал пароль для apk пользователя: vooOtKBb7bckcNh
Задал пароль для rebezov.a : BU39kb2 Задал пароль для rebezov.a : BU39kb2
Задал пароль для jointech : jointech
задал пароль: задал пароль:
zoto!23+ zoto!23+