bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward

Woodpecker CI на VPS: встановлення, налаштування та обслуговування

calendar_month June 20, 2026 schedule 14 хв. читання visibility 33 переглядів
person
Valebyte Team
Woodpecker CI на VPS: встановлення, налаштування та обслуговування

Встановлення та налаштування Woodpecker CI на VPS дозволяє розгорнути потужну self-hosted CI/CD платформу для автоматизації збірки, тестування та деплою вашого коду, використовуючи Docker та Docker Compose для легкого керування та масштабування.

У сучасному циклі розробки програмного забезпечення безперервна інтеграція та безперервна доставка (CI/CD) стали наріжним каменем ефективності та надійності. Woodpecker CI — це легковесна, але потужна альтернатива великим CI/CD системам, яка ідеально підходить для розгортання на власному сервері. У цій статті ми детально розглянемо, як виконати встановлення Woodpecker CI на VPS, налаштувати його для роботи з HTTPS та забезпечити надійне обслуговування.

Що таке Woodpecker CI і чому його варто розгорнути на VPS?

Woodpecker CI — це open-source платформа для безперервної інтеграції, розроблена як форк Drone CI. Вона надає простий та ефективний спосіб автоматизації процесів збірки, тестування та розгортання програмного забезпечення. Woodpecker CI орієнтований на роботу з контейнерами Docker, що робить його гнучким та легко масштабованим рішенням.

Навіщо потрібен CI/CD?

CI/CD автоматизує життєвий цикл розробки, дозволяючи командам швидше та надійніше доставляти зміни. Безперервна інтеграція означає, що розробники часто інтегрують свій код у спільну гілку, а автоматичні тести запускаються при кожній зміні, виявляючи проблеми на ранніх етапах. Безперервна доставка розширює цей процес, автоматично готуючи перевірений код до розгортання, а безперервне розгортання доводить його до автоматичного викату в продакшн. Woodpecker CI надає всю необхідну інфраструктуру для реалізації цих принципів.

Переваги Woodpecker CI Self-Hosted

Розгортання Woodpecker CI на власному сервері, або як ми говоримо, Woodpecker CI self-hosted, дає повний контроль над даними, безпекою та конфігурацією. На відміну від хмарних сервісів, ви не обмежені їхніми тарифними планами чи політиками. Ваш власний VPS від Valebyte.com забезпечує виділені ресурси, високу продуктивність та гнучкість налаштування, що є критично важливим для CI/CD систем, які можуть споживати значні ресурси під час виконання збірок. Використання Woodpecker CI Docker образів спрощує процес розгортання та керування, ізолюючи середовище збірки та гарантуючи відтворюваність результатів.

Вибираючи Woodpecker CI на сервері, ви отримуєте:

  • Повний контроль: Керуйте всіма аспектами CI/CD процесу, від інфраструктури до політик безпеки.
  • Гнучкість: Налаштовуйте середовище збірки під будь-які, навіть найспецифічніші вимоги ваших проєктів.
  • Конфіденційність: Ваші вихідні коди та артефакти залишаються виключно на вашому сервері.
  • Економія: У довгостроковій перспективі власний VPS може бути економічнішим, ніж підписка на дорогі хмарні CI/CD сервіси, особливо при великому обсязі збірок або безлічі проєктів.
  • Продуктивність: Виділені ресурси VPS гарантують передбачувану продуктивність без "сусідського шуму".

Системні вимоги для Woodpecker CI на сервері

Перш ніж приступити до встановлення Woodpecker CI, важливо переконатися, що ваш VPS відповідає мінімальним системним вимогам. Woodpecker CI складається з двох основних компонентів: Server (сервер Woodpecker CI) та Agent (агент Woodpecker CI). Сервер керує пайплайнами, взаємодіє із системами контролю версій (Git, GitHub, GitLab, Gitea) та зберігає конфігурацію. Агент виконує реальні завдання збірки та тестування в контейнерах Docker.

Мінімальна конфігурація для Woodpecker CI

Для невеликих проєктів або індивідуального використання, де не очікується паралельних збірок або дуже ресурсоємних завдань, підійдуть такі мінімальні вимоги:

  • Операційна система: Ubuntu 20.04+, Debian 11+, CentOS 8+, AlmaLinux 8+, Rocky Linux 8+. Бажано використовувати свіжу LTS версію Linux.
  • Процесор: 1 vCPU (наприклад, Intel Xeon E3/E5 або AMD EPYC).
  • Оперативна пам'ять: 1 GB RAM.
  • Дисковий простір: 10-20 GB NVMe SSD. NVMe диски значно прискорюють операції введення-виведення, що важливо для Docker та збірок.
  • Мережеве з'єднання: Стабільне інтернет-з'єднання з публічною IP-адресою.
  • Docker: Встановлений та запущений Docker Engine.

Ця конфігурація дозволить запустити сервер Woodpecker CI та один або два агенти для послідовних збірок. Однак, при активному використанні, вона швидко стане вузьким місцем.

Рекомендації для продакшену та реального навантаження Woodpecker CI

Для команд розробників, кількох проєктів, паралельних збірок та більш інтенсивного використання, де критична швидкість та стабільність, рекомендується така конфігурація:

  • Процесор: 2-4 vCPU. Чим більше ядер, тим більше паралельних агентів Docker можна запустити.
  • Оперативна пам'ять: 4-8 GB RAM. Це дозволить виділити достатньо пам'яті як для сервера Woodpecker CI, так і для кількох одночасно працюючих контейнерів збірки.
  • Дисковий простір: 50-100 GB NVMe SSD. Враховуйте, що образи Docker та артефакти збірки можуть займати значне місце.
  • База даних: Для продакшену рекомендується використовувати зовнішню базу даних (PostgreSQL або MySQL) замість вбудованої SQLite. Це підвищує надійність та продуктивність. На VPS можна розгорнути її в окремому Docker-контейнері або використовувати керований сервіс.
  • Мережеве з'єднання: 100 Mbps або 1 Gbps канал.

Вибір оптимального VPS для Woodpecker CI vps залежить від кількості розробників, складності проєктів та частоти збірок. Завжди краще мати невеликий запас ресурсів, щоб уникнути уповільнень у пікові моменти.

Шукаєте надійний сервер для ваших проєктів?

VPS від $10/міс та виділені сервери від $9/міс з NVMe, DDoS-захистом та підтримкою 24/7.

Дивитись пропозиції →

Підготовка VPS до встановлення Woodpecker CI Docker

Перш ніж приступати до розгортання Woodpecker CI, необхідно підготувати ваш VPS. Цей етап включає вибір операційної системи, базове налаштування безпеки та встановлення Docker.

Вибір операційної системи

Для Woodpecker CI на сервері рекомендується використовувати стабільні та популярні дистрибутиви Linux. Найбільш поширені та добре підтримувані варіанти:

  • Ubuntu Server LTS (наприклад, 22.04 LTS): Відмінний вибір для новачків та досвідчених користувачів, з великою спільнотою та актуальними пакетами.
  • Debian Stable (наприклад, 12 Bookworm): Відомий своєю стабільністю та безпекою, але може мати трохи старіші версії деяких пакетів.
  • AlmaLinux/Rocky Linux (аналоги CentOS): Підходять для тих, хто звик до екосистеми Red Hat.

Після розгортання VPS переконайтеся, що система оновлена до останніх версій пакетів:

sudo apt update && sudo apt upgrade -y

Або для RHEL-подібних систем:

sudo yum update -y

Також рекомендується налаштувати брандмауер (UFW для Debian/Ubuntu або firewalld для RHEL-подібних), дозволивши вхідні з'єднання лише для SSH (порт 22), HTTP (порт 80) та HTTPS (порт 443).

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Встановлення Docker та Docker Compose

Woodpecker CI активно використовує Docker, тому його встановлення woodpecker ci docker є обов'язковим кроком. Docker Compose спрощує керування багатоконтейнерними застосунками.

Крок 1: Встановлення Docker Engine

Дотримуйтесь офіційної документації Docker для встановлення на вашу ОС. Для Ubuntu це виглядатиме так:

sudo apt update
sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Додайте вашого користувача до групи docker, щоб уникнути використання sudo при кожній команді Docker:

sudo usermod -aG docker $USER
newgrp docker

Перевірте, що Docker встановлений та працює:

docker run hello-world

Крок 2: Встановлення Docker Compose

Docker Compose зазвичай встановлюється разом з Docker Engine (як docker compose плагін). Якщо у вас стара версія Docker або він не встановлений, ви можете встановити його окремо. Перевірте версію:

docker compose version

Якщо команда не працює або версія застаріла, встановіть його:

sudo apt install docker-compose -y

Або, для новішої версії, завантажте бінарник:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # Для сумісності
docker-compose --version

Тепер ваш VPS готовий до розгортання Woodpecker CI.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Покрокове встановлення Woodpecker CI на VPS з Docker Compose

Тепер, коли ваш VPS підготовлений, можна приступити до безпосереднього встановлення Woodpecker CI. Ми будемо використовувати Docker Compose для зручності керування сервером та агентом.

Крок 1: Створення файлу docker-compose.yml

Створіть директорію для Woodpecker CI та всередині неї файл docker-compose.yml:

mkdir -p ~/woodpecker-ci
cd ~/woodpecker-ci
nano docker-compose.yml

Вставте наступну конфігурацію. Це базовий приклад, який використовує SQLite для зберігання даних (для простоти) та запускає один агент Woodpecker CI. Замініть your.woodpecker.domain на ваше доменне ім'я та згенеруйте секретний ключ.

version: '3.8'

services:
  woodpecker-server:
    image: woodpeckerci/woodpecker-server:latest
    container_name: woodpecker-server
    restart: always
    ports:
      - "8000:8000" # Порт для доступу до веб-інтерфейсу Woodpecker CI
    volumes:
      - ./woodpecker-data:/var/lib/woodpecker # Для зберігання даних SQLite та конфігурації
    environment:
      WOODPECKER_HOST: https://your.woodpecker.domain # Ваше доменне ім'я
      WOODPECKER_RPC_SECRET: your_rpc_secret_key # Дуже важливий секретний ключ
      WOODPECKER_ADMIN: your_admin_username # Ім'я користувача, який буде адміністратором
      WOODPECKER_OPEN: "true" # Дозволити реєстрацію нових користувачів (false для закритої системи)
      WOODPECKER_GITLAB: "true" # Увімкнути інтеграцію з GitLab
      WOODPECKER_GITLAB_URL: https://gitlab.com # URL вашого GitLab-інстансу
      WOODPECKER_GITLAB_CLIENT: your_gitlab_client_id # ID застосунку GitLab OAuth
      WOODPECKER_GITLAB_SECRET: your_gitlab_client_secret # Секрет застосунку GitLab OAuth
      # WOODPECKER_GITHUB: "true" # Для GitHub
      # WOODPECKER_GITHUB_CLIENT: your_github_client_id
      # WOODPECKER_GITHUB_SECRET: your_github_client_secret
      # WOODPECKER_GITHUB_SCOPE: repo,repo:status,user:email,read:org
      # WOODPECKER_GITEA: "true" # Для Gitea
      # WOODPECKER_GITEA_URL: https://gitea.com
      # WOODPECKER_GITEA_CLIENT: your_gitea_client_id
      # WOODPECKER_GITEA_SECRET: your_gitea_client_secret
      # WOODPECKER_DATABASE_DRIVER: postgres # Для використання PostgreSQL
      # WOODPECKER_DATABASE_DATASOURCE: postgres://user:password@db:5432/woodpecker?sslmode=disable

  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:latest
    container_name: woodpecker-agent
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # Даємо агенту доступ до Docker daemon
    environment:
      WOODPECKER_SERVER: woodpecker-server:9000 # Ім'я сервісу сервера та порт RPC
      WOODPECKER_RPC_SECRET: your_rpc_secret_key # Той самий секретний ключ, що й для сервера
      WOODPECKER_AGENT_LABELS: linux/amd64,default # Мітки для агента
      WOODPECKER_LOG_LEVEL: info
    depends_on:
      - woodpecker-server
    privileged: true # Необхідно для запуску Docker-in-Docker або інших привілейованих операцій

Важливі моменти конфігурації:

  • WOODPECKER_HOST: Вкажіть повне доменне ім'я, за яким буде доступний Woodpecker CI. Це критично для коректної роботи OAuth та вебхуків.
  • WOODPECKER_RPC_SECRET: Згенеруйте надійний випадковий секрет (наприклад, за допомогою openssl rand -hex 16 або онлайн-генератора). Цей секрет використовується для автентифікації агентів на сервері.
  • WOODPECKER_ADMIN: Вкажіть логін користувача, який буде автоматично призначений адміністратором після першої реєстрації.
  • Інтеграція з Git: Розкоментуйте та заповніть змінні для вашої системи контролю версій (GitHub, GitLab, Gitea). Вам потрібно буде зареєструвати новий OAuth-застосунок у вашій системі Git (наприклад, GitHub Settings -> Developer settings -> OAuth Apps) та вказати URL-адресу перенаправлення (Callback URL) вигляду https://your.woodpecker.domain/authorize.
  • База даних: За замовчуванням використовується SQLite, що підходить для початку. Для продакшену розгляньте PostgreSQL або MySQL. Якщо ви використовуєте PostgreSQL, додайте відповідний сервіс до docker-compose.yml та розкоментуйте змінні WOODPECKER_DATABASE_DRIVER та WOODPECKER_DATABASE_DATASOURCE. Приклад інтеграції з NocoDB на VPS або Baserow на VPS може дати уявлення про роботу з базами даних у Docker, хоча Woodpecker використовує їх безпосередньо.
  • privileged: true: Агент Woodpecker CI часто вимагає привілейованого доступу до Docker daemon для виконання збірок, особливо якщо ви використовуєте Docker-in-Docker або інші специфічні інструменти.

Крок 2: Запуск Woodpecker CI

Після збереження файлу docker-compose.yml, запустіть контейнери:

docker compose up -d

Команда -d означає запуск у фоновому режимі (detached mode). Перевірте статус контейнерів:

docker compose ps

Ви повинні побачити, що обидва контейнери (woodpecker-server та woodpecker-agent) запущені.

На цьому етапі Woodpecker CI буде доступний за адресою http://your_vps_ip:8000. Однак для продакшену та коректної роботи з Git-провайдерами обов'язково налаштувати reverse proxy з HTTPS.

Налаштування Reverse Proxy (Nginx/Caddy) та HTTPS для Woodpecker CI

Для забезпечення безпеки та коректної роботи Woodpecker CI із зовнішніми сервісами (такими як GitHub/GitLab OAuth), необхідно налаштувати reverse proxy з підтримкою HTTPS. Ми розглянемо два популярні варіанти: Nginx та Caddy.

Nginx як Reverse Proxy для Woodpecker CI

Nginx — це високопродуктивний веб-сервер та reverse proxy. Якщо він вже встановлений на вашому VPS, налаштувати його буде просто.

Крок 1: Встановлення Nginx

Якщо Nginx не встановлений:

sudo apt update
sudo apt install nginx -y

Запустіть Nginx та додайте його до автозавантаження:

sudo systemctl start nginx
sudo systemctl enable nginx

Крок 2: Налаштування Nginx

Створіть новий файл конфігурації для вашого домену (наприклад, /etc/nginx/sites-available/woodpecker.conf):

sudo nano /etc/nginx/sites-available/woodpecker.conf

Вставте наступну конфігурацію, замінивши your.woodpecker.domain на ваше доменне ім'я:

server {
    listen 80;
    server_name your.woodpecker.domain;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 900s; # Збільшити таймаут для тривалих збірок
    }
}

Створіть символічне посилання на цей файл у sites-enabled:

sudo ln -s /etc/nginx/sites-available/woodpecker.conf /etc/nginx/sites-enabled/

Перевірте конфігурацію Nginx та перезавантажте його:

sudo nginx -t
sudo systemctl reload nginx

Тепер Woodpecker CI має бути доступний по HTTP за вашим доменним ім'ям.

Крок 3: Налаштування HTTPS з Let's Encrypt (Certbot)

Для HTTPS використовуємо Certbot від Let's Encrypt. Встановіть Certbot:

sudo apt install certbot python3-certbot-nginx -y

Запустіть Certbot для автоматичного налаштування Nginx та отримання сертифіката:

sudo certbot --nginx -d your.woodpecker.domain

Certbot поставить кілька запитань (email, згода з умовами). Після успішного виконання він автоматично оновить конфігурацію Nginx, додавши HTTPS та перенаправлення з HTTP на HTTPS. Перевірте ваш сайт за адресою https://your.woodpecker.domain.

Caddy як Reverse Proxy для Woodpecker CI

Caddy — це сучасний веб-сервер з автоматичною підтримкою HTTPS (Let's Encrypt). Він простий у налаштуванні та ідеально підходить для таких завдань.

Крок 1: Встановлення Caddy

Дотримуйтесь офіційної документації Caddy для встановлення. Для Debian/Ubuntu:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y

Крок 2: Налаштування Caddyfile

Створіть або відредагуйте файл /etc/caddy/Caddyfile:

sudo nano /etc/caddy/Caddyfile

Видаліть існуючий вміст та вставте наступне, замінивши your.woodpecker.domain на ваше доменне ім'я:

your.woodpecker.domain {
    reverse_proxy localhost:8000 {
        header_up X-Forwarded-Proto {scheme}
        header_up X-Real-IP {remote_ip}
        header_up Host {host}
    }
    # Збільшити таймаут для тривалих збірок, якщо необхідно
    # transport http {
    #     read_timeout 15m
    # }
}

Caddy автоматично отримає і оновить сертифікати Let's Encrypt для вашого домену.

Крок 3: Запуск Caddy

Перевірте конфігурацію Caddy та перезапустіть його:

sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

Тепер Woodpecker CI має бути доступний по HTTPS за вашим доменним ім'ям. Перейдіть за адресою https://your.woodpecker.domain, зареєструйтесь (якщо WOODPECKER_OPEN встановлено в true) та почніть інтеграцію з вашими репозиторіями Git.

На цьому етапі встановлення woodpecker ci завершено, і система готова до роботи.

Резервні копії та оновлення Woodpecker CI

Регулярне резервне копіювання та своєчасні оновлення — критично важливі для стабільної та безпечної роботи будь-якої self-hosted системи, включаючи Woodpecker CI на сервері.

Стратегія резервного копіювання Woodpecker CI

Woodpecker CI зберігає свої дані в каталозі, який ми примонтували як volume: ./woodpecker-data. Для вбудованої бази даних SQLite це буде файл woodpecker.sqlite. Якщо ви використовуєте зовнішню базу даних (PostgreSQL/MySQL), вам також потрібно буде забезпечити її резервне копіювання. Крім того, важливо зберігати конфігураційні файли Docker Compose.

Що потрібно резервувати:

  1. Каталог даних Woodpecker CI (~/woodpecker-ci/woodpecker-data/).
  2. Файл docker-compose.yml.
  3. Конфігурації reverse proxy (Nginx: /etc/nginx/sites-available/woodpecker.conf; Caddy: /etc/caddy/Caddyfile).
  4. Сертифікати SSL/TLS (хоча Certbot їх може відновити).

Приклад скрипта для резервного копіювання:

Створіть скрипт backup_woodpecker.sh:

#!/bin/bash

BACKUP_DIR="/var/backups/woodpecker_ci"
TIMESTAMP=$(date +%Y%m%d%H%M%S)
WOODPECKER_ROOT_DIR="/root/woodpecker-ci" # Або ваш шлях

mkdir -p $BACKUP_DIR/$TIMESTAMP

echo "Створення резервної копії даних Woodpecker CI..."
cp -R $WOODPECKER_ROOT_DIR/woodpecker-data $BACKUP_DIR/$TIMESTAMP/
cp $WOODPECKER_ROOT_DIR/docker-compose.yml $BACKUP_DIR/$TIMESTAMP/

# Якщо використовуєте Nginx
# cp /etc/nginx/sites-available/woodpecker.conf $BACKUP_DIR/$TIMESTAMP/
# cp -R /etc/letsencrypt/live/your.woodpecker.domain $BACKUP_DIR/$TIMESTAMP/certs/

# Якщо використовуєте Caddy
# cp /etc/caddy/Caddyfile $BACKUP_DIR/$TIMESTAMP/
# cp -R /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/your.woodpecker.domain $BACKUP_DIR/$TIMESTAMP/certs/

# Якщо використовуєте PostgreSQL
# docker exec your_postgres_container_name pg_dump -U your_postgres_user your_postgres_db > $BACKUP_DIR/$TIMESTAMP/woodpecker_postgres_dump.sql

echo "Стиснення резервної копії..."
tar -czvf $BACKUP_DIR/woodpecker_ci_backup_$TIMESTAMP.tar.gz -C $BACKUP_DIR $TIMESTAMP
rm -rf $BACKUP_DIR/$TIMESTAMP

echo "Резервне копіювання завершено: $BACKUP_DIR/woodpecker_ci_backup_$TIMESTAMP.tar.gz"

# Видалення старих резервних копій (наприклад, старше 7 днів)
find $BACKUP_DIR -name "woodpecker_ci_backup_*.tar.gz" -mtime +7 -delete
echo "Старі резервні копії видалено."

Зробіть скрипт виконуваним та додайте його до Cron для щоденного виконання:

chmod +x backup_woodpecker.sh
(crontab -l; echo "0 3 * * * /root/woodpecker-ci/backup_woodpecker.sh") | crontab -

Розгляньте можливість використання зовнішніх інструментів для резервного копіювання, таких як Restic, який ми описували у статті Restic на VPS: встановлення, налаштування та обслуговування. Він дозволяє безпечно та ефективно зберігати зашифровані резервні копії на різних віддалених сховищах.

Процес оновлення Woodpecker CI

Оновлення Woodpecker CI зазвичай зводиться до оновлення Docker-образів сервера та агента.

  1. Створіть резервну копію: Перед будь-яким оновленням завжди робіть повну резервну копію.
  2. Зупиніть контейнери:
  3. cd ~/woodpecker-ci
    docker compose down
  4. Завантажте нові образи:
  5. docker compose pull
  6. Запустіть контейнери з новими образами:
  7. docker compose up -d
  8. Перевірте логи: Переконайтеся, що все запустилося без помилок.
  9. docker compose logs -f

Регулярно перевіряйте офіційний репозиторій Woodpecker CI на GitHub на предмет нових релізів та важливих змін у конфігурації.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Який VPS-конфіг вибрати для реального навантаження Woodpecker CI?

Вибір оптимального VPS для Woodpecker CI vps — це баланс між вартістю та продуктивністю. Переплата за надлишкові ресурси неефективна, але нестача ресурсів призведе до уповільнення збірок та зниження продуктивності команди.

Оцінка навантаження та масштабування

Навантаження на Woodpecker CI в основному визначається:

  • Кількістю паралельних збірок: Чим більше проєктів або гілок одночасно збираються, тим більше ресурсів потрібно.
  • Ресурсоємністю збірок: Компіляція великих проєктів на C++/Java, запуск безлічі тестів, збірка Docker-образів — все це вимагає CPU, RAM та швидкого диска.
  • Розміром репозиторіїв та артефактів: Впливає на дисковий простір та пропускну здатність мережі.
  • Кількістю агентів: Кожен агент Woodpecker CI, по суті, є Docker хостом для збірок. Ви можете запускати кілька агентів на одному потужному VPS або розподілити їх по кількох серверах.

Розглянемо типові сценарії та рекомендовані конфігурації VPS від Valebyte.com:

Сценарій використання vCPU RAM NVMe SSD Пропускна здатність Орієнтовна вартість (Valebyte.com)
Персональний/тестовий (1-2 проєкти, 1-2 розробники, рідкісні збірки) 2 2 GB 40 GB 100 Mbps від $7-10/міс
Невелика команда (3-5 проєктів, 3-7 розробників, 2-3 паралельні збірки) 4 4 GB 80 GB 200 Mbps від $15-20/міс
Середня команда/кілька команд (5-15 проєктів, 8-20 розробників, 4-8 паралельних збірок) 6-8 8-16 GB 160-320 GB 500 Mbps - 1 Gbps від $30-60/міс
Велике підприємство/високонавантажений CI (20+ проєктів, 20+ розробників, 10+ паралельних збірок) 12-16+ 32-64+ GB 500 GB+ 1 Gbps+ від $80-150+/міс (або виділений сервер)

Рекомендовані тарифи Valebyte.com

Для більшості користувачів, які починають роботу з Woodpecker CI на VPS, ми рекомендуємо стартувати з тарифу, який пропонує не менше 4 vCPU, 4 GB RAM та 80 GB NVMe SSD. Це забезпечить комфортну роботу для невеликої та середньої команди, дозволяючи запускати кілька збірок паралельно без значних затримок.

Якщо ви керуєте іншими інструментами на вашому VPS, такими як OpenProject на VPS, Redmine на VPS або Filebrowser на VPS, обов'язково враховуйте їхні системні вимоги при виборі тарифу. У такому випадку, можливо, знадобиться більш потужний VPS, щоб забезпечити стабільну роботу всіх сервісів.

Ключовим фактором завжди є продуктивність дискової підсистеми. NVMe SSD диски, які пропонує Valebyte.com, критично важливі для швидкої роботи Docker-контейнерів, вилучення репозиторіїв та кешування залежностей у процесі збірки. Висока пропускна здатність мережі також важлива для швидкого завантаження Docker-образів, залежностей та вивантаження артефактів.

Моніторинг ресурсів (CPU, RAM, диск I/O) вашого VPS допоможе вам зрозуміти, коли час масштабуватися. Якщо CPU постійно завантажений на 80-90% під час збірок, або дискове введення-виведення стає вузьким місцем, це явний сигнал для апгрейду.

Висновки

Woodpecker CI на VPS від Valebyte.com пропонує потужне, гнучке та економічне рішення для автоматизації CI/CD процесів. Дотримуючись докладних інструкцій зі встановлення, налаштування reverse proxy з HTTPS, а також впроваджуючи стратегії резервного копіювання та оновлення, ви зможете створити надійну та високопродуктивну платформу для вашої команди розробників.

Готові вибрати сервер?

VPS та виділені сервери в 72+ країнах з миттєвою активацією та повним root-доступом.

Почати зараз →
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.