Hosting Jenkinsa, kontroler i agenci osobno

Kontroler Jenkinsa na własnej maszynie w Pradze lub Covilhã, z kompilacjami wypchniętymi na agentów, gdzie ich miejsce - to jedyna rada dotycząca doboru rozmiaru, jakiej udziela projekt Jenkins, i ta, którą większość instalacji ignoruje.

Certyfikat Tier III ISO 9001 ISO/IEC 27001 ISO 14001 Zgodność z RODO

Dla kogo to jest

Jenkins, który mieszka pod czyimś biurkiem

Buduje od 2019 roku, nikt nie pamięta, które wtyczki mają znaczenie, a cały proces wydawniczy zależy od wieży z jednym dyskiem i bez kopii zapasowej.

Kontroler, który sam uruchamia kompilacje

Executory przydzielono na kontrolerze, bo tak było łatwiej, a teraz ciężkie zadanie pociąga za sobą interfejs webowy - co dokumentacja Jenkinsa nazywa złą praktyką dokładnie tymi słowami.

Zespół, który nie może przejść na hostowane CI

Dwanaście lat potoków, wtyczka, której nikt nie zastąpił, i zadanie rozmawiające ze sprzętem. Jenkins nie jest problemem; problemem jest maszyna pod spodem.

Co daje własna maszyna

  • Kontroler, który pozostaje responsywny, bo kompilacje działają na agentach, a nie na tym, co serwuje interfejs webowy.
  • JENKINS_HOME na NVMe z migawką przed każdą aktualizacją wtyczek, dzięki czemu wycofanie to dwa kliknięcia, a nie cały wieczór.
  • Agenci dodawani jako osobne hosty i podłączani przez SSH albo protokół przychodzący, dobierani inaczej niż kontroler.
  • Statyczny IPv4 z AS204057, dzięki czemu wewnętrzny rejestr, magazyn artefaktów albo cel wdrożenia może dopuścić kontroler po adresie.
  • Dowolny agent, jakiego potrzebujesz obok - Linux do kompilacji, Windows Server z licencją od nas, kiedy któreś zadanie tego wymaga.
  • Obiekty Tier III, kopia zapasowa w cenie i maszyna, która nie zależy od klimatyzacji w biurze.

Dobrane do tego, co potok naprawdę robi

Projekt Jenkins celowo odmawia podania jednej liczby dotyczącej sprzętu, nazywa dobór rozmiaru nauką nieścisłą i umieszcza pamięć kontrolera gdzieś między 200 MB dla małej instalacji a 70 GB i więcej dla dużej. Mówi natomiast wprost, gdzie idzie praca: nie przydzielaj executorów na kontrolerze, bo kompilacja może go przeciążyć i położyć. Dobierz więc kontroler pod interfejs, wtyczki i historię zadań, a kompilacje oddaj agentom. Jedno zastrzeżenie co do formy rozliczenia: stały miesięczny host kosztuje tyle samo w spokojnym tygodniu, gdzie hostowane minuty CI nie kosztują nic - Jenkins zwykle chodzi niemal codziennie, i właśnie wtedy to rozwiązanie wygrywa.

Pierwszy kontroler
16.49
miesięcznie

Zamów teraz
mały zespół, agenci później
2 vCPU
8 GB RAM
80 GB NVMe
1 statyczny IPv4
1 tygodniowa kopia zapasowa w cenie
Kontroler z agentami
36.01
miesięcznie

Zamów teraz
kontroler z miejscem na historię kompilacji
4 vCPU
16 GB RAM
240 GB NVMe
1 statyczny IPv4
1 tygodniowa kopia zapasowa w cenie
Farma kompilacji
65.98
miesięcznie

Zamów teraz
wiele zadań, wielu agentów, długa historia
8 vCPU
32 GB RAM
320 GB NVMe
1 statyczny IPv4
1 tygodniowa kopia zapasowa w cenie

Jak zainstalować Jenkinsa na Debianie albo Ubuntu

Stabilna linia LTS, z własnego repozytorium projektu Jenkins, w kolejności, którą dokumentują. Java 21 albo nowsza to wymóg, a nie sugestia.

  1. Zainstaluj Javę

    sudo apt update
    sudo apt install fontconfig openjdk-21-jre
    java -version

    Jenkins wymaga Javy 21 albo nowszej. fontconfig jest w udokumentowanym poleceniu razem z nią, bo wtyczki renderujące obrazy bez niego zawodzą w mylący sposób.

  2. Dodaj repozytorium LTS Jenkinsa

    sudo wget -O /etc/apt/keyrings/jenkins-keyring.asc \
      https://pkg.jenkins.io/debian-stable/jenkins.io-2026.key
    echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc]" \
      https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
      /etc/apt/sources.list.d/jenkins.list > /dev/null

    debian-stable to linia LTS; sama ścieżka debian to linia tygodniowa. Klucz podpisujący jest rotowany, więc weź aktualną nazwę pliku ze strony Jenkinsa, a nie ze starszego poradnika.

  3. Zainstaluj i uruchom

    sudo apt update
    sudo apt install jenkins
    sudo systemctl enable jenkins
    sudo systemctl start jenkins

    Jenkins nasłuchuje na porcie 8080 i działa jako własny użytkownik jenkins, a wszystko, co istotne, leży pod /var/lib/jenkins. To ten katalog obejmujesz migawką i kopią zapasową.

  4. Odblokuj pierwsze logowanie

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword

    Otwórz serwer na porcie 8080 i wklej tę wartość. Nie zostawiaj go dostępnego dla całego internetu w trakcie konfiguracji - schowaj go za naszą bramą VPN albo najpierw ogranicz port 8080 do adresu swojego biura.

  5. Zdejmij kompilacje z kontrolera

    # Manage Jenkins -> Nodes -> Built-In Node -> set executors to 0
    # then Manage Jenkins -> Nodes -> New Node for each agent host

    To jedyna rada dotycząca doboru rozmiaru, którą dokumentacja Jenkinsa wypowiada wprost: przydzielanie executorów na kontrolerze pozwala kompilacji go przeciążyć i wywrócić. Ustaw węzeł wbudowany na zero executorów i dodaj hosty agentów, które zaleca trzymać ogólnymi i wymiennymi, a nie szytymi pod konkretne zadanie.

  6. Podłącz agenta przez SSH

    sudo -u jenkins ssh-keygen -t ed25519 -f /var/lib/jenkins/.ssh/agent
    sudo -u jenkins ssh-copy-id -i /var/lib/jenkins/.ssh/agent.pub jenkins@AGENT-HOST

    Dodaj klucz prywatny jako poświadczenie SSH Username with private key, a potem utwórz węzeł metodą uruchamiania SSH. Każde połączenie agenta kosztuje kontroler kilka wątków i nieco ponad 2 MB, więc garstka agentów nie jest tym, co decyduje o rozmiarze kontrolera - decydują wtyczki i historia zadań.

Sprawdzone z oficjalną dokumentacją dnia 2026-08-15 — przeczytaj źródło

Czym nie jesteśmy

  • Nie jesteśmy projektem Jenkins. Jenkins jest znakiem towarowym Linux Foundation, a oprogramowanie należy do nich; nic tutaj nie jest przez nich firmowane. Sprzedajemy maszynę, na której działa.
  • Nie utrzymujemy Twoich wtyczek. To przy aktualizacjach wtyczek psują się instalacje Jenkinsa, a osoba, która wie, które z Twoich 60 wtyczek mają znaczenie, jest po Twojej stronie - choć migawka przed każdą aktualizacją jest po naszej.
  • Nie migrujemy Twoich zadań w ramach ceny. Pomożemy z oknem i kopią JENKINS_HOME, a resztę wycenimy, jeśli chcesz, żeby to zrobiono za Ciebie, a nie razem z Tobą.
  • Nie ma tu zarządzanej warstwy sterowania Jenkinsem. Jeśli chcesz, żeby ktoś inny w całości przejął aktualizacje, uczciwą odpowiedzią jest hostowany produkt CI, a to nim nie jest.
  • Agenci Windows potrzebują licencji Windows Server, które możemy dostarczyć na serwerze, ale każda licencja narzędzia, której wymaga kompilacja, pozostaje Twoja.

Elementy, które zespoły odkrywają za późno

  • JENKINS_HOME to cała instalacja - konfiguracja, historia zadań, poświadczenia, wtyczki. Zrób z tego kopię, a kontroler odtworzysz w godzinę; pomiń to, a nie odtworzysz go wcale.
  • Migawka przed każdą aktualizacją wtyczek. To zmiana, która najczęściej kładzie działającego Jenkinsa, a migawka zamienia ją w wycofanie dwoma kliknięciami.
  • Zero executorów na kontrolerze to udokumentowane zalecenie, a nie preferencja. Kompilacja, która przeciąża kontroler, zabiera ze sobą interfejs webowy.
  • Agenci powinni być wymienni. Dokumentacja opowiada się za ogólnymi, zastępowalnymi agentami zamiast jednego specjalnie skonfigurowanego hosta na zadanie, bo ten specjalnie skonfigurowany zawsze jest tym, który akurat nie działa.
  • Port 8080 to nie miejsce, w którym zostawia się niezabezpieczonego Jenkinsa. Schowaj go za bramą VPN albo listą dopuszczonych adresów przed pierwszym logowaniem, a nie po nim.
  • Pamięć kontrolera rośnie wraz z wtyczkami, liczbą zadań i historią kompilacji, a nie z tym, jak ciężkie są kompilacje - to obciążenie należy do agentów.

Minuty CI u dostawcy kontra własny runner

Minuty CI hostowane przez dostawcęRunner w DCXV
Za co płaciszZa każdą minutę każdego zadania, tak długo jak projekt istniejeZa stały miesięczny host, cokolwiek potok robi w danym miesiącu
Kompilacja, która zwalniaKosztuje więcej w każdym miesiącu, w którym pozostaje wolnaNie kosztuje nic więcej - maszyna jest już opłacona
Pamięć podręczna warstw DockeraZimna przy każdym zadaniu, o ile sam jej nie wyślesz i nie pobierzeszCiepła na lokalnym NVMe, między zadaniami i między dniami
RównoległośćPróg planu, który się podnosiLiczba, którą ustawiasz we własnym pliku konfiguracyjnym
Gdzie ląduje checkoutNa współdzielonej flocie, często w regionie, którego nie da się wskazaćNa jednej maszynie w Pradze lub Covilhã, na umowie cypryjskiej
Adres wychodzącyWielki współdzielony zakres, którego nic nie dopuściJeden statyczny IPv4 z AS204057, Twój do dopuszczenia
Co maszyna może pomieścićTo, co akurat niesie obraz runneraDowolny łańcuch narzędzi, licencję albo zestaw danych zainstalowany raz

Jak to rusza na Twoim hoście

1

Powiedz, co robi potok

Najcięższe zadanie, jakie dziś uruchamiasz, ile ich ma iść naraz i czy buduje obrazy kontenerów. To wystarczy, żeby dobrać host bez zgadywania.

2

Przekazujemy maszynę

Praga albo Covilhã, dostęp root i statyczny IPv4, w niecałe dziesięć minut. Przynieś własny obraz, jeśli runner już w nim siedzi.

3

Wykonaj instrukcję z tej strony

To sekwencja producenta, wzięta z jego aktualnej dokumentacji, a nie z wpisu na blogu, i na czystym hoście zajmuje kilka minut.

4

Zrób migawkę, potem dołóż drugi

Zrób migawkę, gdy pierwszy potok świeci na zielono, żeby kolejna maszyna była odtworzeniem, a nie budową od zera. Pula rośnie przez dokładanie hostów, a nie przez rozdymanie jednego.

Dlaczego nas wybrać

  • Obiekty certyfikowane Tier III, SLA obiektu 99,982 %
  • Własna sieć, AS204057, IPv4 i IPv6
  • Wsparcie 24/7/365 ze średnim czasem odpowiedzi około 10 minut
  • Spółka cypryjska, jurysdykcja UE, zgodność z RODO od 2007 roku

FAQ

- Czego potrzebuję, żeby zainstalować Jenkinsa na Ubuntu albo Debianie?

Javy 21 albo nowszej, a potem repozytorium apt projektu Jenkins. Zainstaluj fontconfig i openjdk-21-jre, dodaj keyring i wpis sources dla debian-stable z pkg.jenkins.io, apt install jenkins, włącz i uruchom usługę, a potem odblokuj ją wartością z /var/lib/jenkins/secrets/initialAdminPassword. Jenkins nasłuchuje na porcie 8080. Pełna sekwencja jest na tej stronie

- Ile pamięci RAM potrzebuje kontroler Jenkinsa?

Projekt Jenkins celowo odmawia podania liczby, nazywa dobór rozmiaru nauką nieścisłą i umieszcza pamięć kontrolera gdzieś między 200 MB dla małej instalacji a 70 GB i więcej dla bardzo dużej. Skalują ją wtyczki, liczba zadań i historia kompilacji, a nie to, jak ciężkie są kompilacje - bo kompilacje nie powinny działać na kontrolerze. 8 GB to wygodny start dla małego zespołu

- Czy kompilacje powinny działać na kontrolerze Jenkinsa?

Nie, i dokumentacja mówi to wprost: przydzielanie executorów na kontrolerze jest złą praktyką, bo kompilacja może przeciążyć jego procesor albo pamięć i go wywrócić. Ustaw węzeł wbudowany na zero executorów i dodaj agentów. Projekt zaleca też trzymać agentów ogólnymi i wymiennymi, zamiast szyć jeden host pod każde zadanie

- Jak zrobić kopię zapasową Jenkinsa?

JENKINS_HOME, czyli /var/lib/jenkins przy instalacji z pakietu, to cała instalacja: konfiguracja, definicje zadań, historia kompilacji, poświadczenia i wtyczki. Zrób z tego kopię, a kontroler odtworzysz w godzinę. Każdy plan tutaj zawiera kopię zapasową, a migawka przed każdą aktualizacją wtyczek zamienia zmianę, która najczęściej psuje Jenkinsa, w wycofanie dwoma kliknięciami

- Jak podłączyć agenta kompilacji?

Zwykłą drogą jest SSH: wygeneruj klucz jako użytkownik jenkins, umieść połowę publiczną na hoście agenta, dodaj połowę prywatną jako poświadczenie SSH i utwórz węzeł metodą uruchamiania SSH. Każde połączenie agenta kosztuje kontroler kilka wątków i nieco ponad 2 MB, więc to nie agenci decydują o rozmiarze kontrolera

- Czy bezpiecznie jest zostawić Jenkinsa na porcie 8080?

W otwartym internecie nie. Schowaj go za naszą bramą VPN albo ogranicz port do własnych adresów przed pierwszym logowaniem, a nie po nim - początkowe hasło administratora leży w pliku na serwerze, który do tego czasu odpowiada całemu światu. Statyczny IPv4 z AS204057 upraszcza też dopuszczenie po drugiej stronie

Jeśli potrzebujesz pomocy lub masz dodatkowe pytania, skontaktuj się z menedżerami lub napisz do zespołu wsparcia pod adresem support@dcxv.com

Gotowy na rozpoczęcie?

Rozliczenie miesięczne, bez opłaty aktywacyjnej, bez umowy na czas określony

Serwery w chmurze od 15 €/mies.