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

Получить VPS arrow_forward

Woodpecker CI на VPS: установка, настройка и обслуживание

calendar_month 20 июня 2026 schedule 14 мин. чтения visibility 37 просмотров
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.