Porównanie
CRACI vs Buildkite
Buildkite zapewnia orkiestrację, a moc obliczeniową dostarczają Państwo. CRACI zapewnia moc obliczeniową i rejestruje, co pobrał każdy build. Pierwsze maksymalizuje kontrolę nad infrastrukturą, drugie wbudowuje dowody bezpieczeństwa w runner.
Zaktualizowano
Krótka odpowiedź
Buildkite to hybrydowa platforma CI/CD. Jej warstwa sterowania SaaS odpowiada za orkiestrację, a agenty, które uruchamiają Państwa zadania, działają na Państwa własnej infrastrukturze, on-premises lub w chmurze. Buildkite podaje, że kod źródłowy i sekrety pozostają w Państwa środowisku. Oferuje też w pełni zarządzane hostowane agenty, jeśli nie chcą Państwo utrzymywać własnych.
CRACI to zarządzany runner zgodny z GitHub Actions, stworzony z myślą o bezpieczeństwie łańcucha dostaw. Rejestruje każdą zewnętrzną zależność pobraną przez build, egzekwuje politykę ruchu wychodzącego w sieci buildu i na podstawie tego zapisu tworzy SBOM-y, dane o pochodzeniu i dowody dla CRA. Mówiąc prosto: Buildkite to tradycyjne CI z maksymalną kontrolą nad infrastrukturą; CRACI to CI świadome bezpieczeństwa, w którym runner jest dowodem.
CRACI obsługuje dziś wyłącznie GitHub Actions, więc nie uruchamia pipeline'ów Buildkite. Zespół korzystający z Buildkite musiałby przenieść pipeline do GitHub Actions, aby korzystać z runnerów CRACI, lub poczekać na inne systemy CI, które są w planach rozwoju.
| Funkcja | CRACI | Buildkite |
|---|---|---|
| SBOM z czasu buildu z zaobserwowanych zależności | Każde zadanie, ze stanem kompletności, łącznie z pakietami z cache | Agenty uruchamiają wybrane przez Państwa narzędzia SBOM |
| Polityka ruchu wychodzącego buildu | Dla każdego zadania, domyślna odmowa lub zezwolenie, blokuje w razie błędu | Do egzekwowania samodzielnie na agentach self-hosted |
| Podpisane dane o pochodzeniu buildu | Brak podpisanych danych o pochodzeniu | SLSA Build Level 1 przez Package Registries, Enterprise |
| Podpisane pipeline'y | Agenty weryfikują podpisy zadań przed uruchomieniem | |
| Gdzie działają buildy | Na zarządzanych przez CRACI maszynach wirtualnych z systemem Linux. Runnery hostowane u klienta nie są oferowane. | Na agentach hostowanych przez Państwa, on-premises lub w dowolnej chmurze, albo na hostowanych agentach Buildkite. |
| Lokalizacja kodu źródłowego | Przetwarzany w maszynie wirtualnej zadania CRACI przez czas trwania buildu i nieprzechowywany. | Przy agentach self-hosted kod źródłowy i sekrety pozostają w Państwa środowisku. |
| Kontrola wersji i CI | Dziś tylko GitHub Actions | GitHub, GitLab, Bitbucket i inne |
| Platformy | Dziś Linux na x86-64 i ARM64; Windows i macOS w planach rozwoju | Każdy system, na którym działają agenty; hostowane Linux i macOS |
| Analityka testów | Test Engine: wykrywanie niestabilnych testów, dzielenie testów | |
| Ceny | $0.002 za minutę vCPU ($0.004 na runnerze 2 vCPU), naliczane co sekundę. Bez opłaty miesięcznej. | Plan bezpłatny; Pro $30 za aktywnego użytkownika miesięcznie; hostowane agenty Linux $0.004 za minutę vCPU, naliczane co sekundę (stan na wrzesień 2026). |
- W zestawie
- Częściowo
- Brak
- W planach rozwoju
Co Buildkite robi dobrze
Kontrola nad mocą obliczeniową. Ponieważ to Państwo hostują agenty, wybierają Państwo sprzęt, system operacyjny, sieć i region. Agenty odpytują API agentów Buildkite przez HTTPS, więc nie trzeba otwierać portów przychodzących w firewallu. Ten model sprawdza się przy dużych monorepo, specjalistycznym sprzęcie i w organizacjach, których polityki utrzymują kod źródłowy wewnątrz własnego perymetru.
Integralność pipeline'ów. Dzięki podpisanym pipeline'om zadania są podpisywane przy przesyłaniu, a agenty weryfikują podpis przed ich uruchomieniem, więc agent nie uruchomi zadania, którego instrukcje zmieniono po przesłaniu.
Narzędzia wokół buildu. Test Engine wykrywa i izoluje niestabilne testy oraz dzieli testy między równoległe zadania. Package Registries może publikować artefakty z danymi o pochodzeniu SLSA, które według Buildkite spełniają SLSA Build Level 1; ta funkcja jest dostępna w planach Enterprise.
Elastyczne ceny. Według stanu na wrzesień 2026 Buildkite ma plan Free i plan Pro w cenie $30 za aktywnego użytkownika miesięcznie, z 10 agentami self-hosted wliczonymi w Pro i kolejnymi po $3.50 za agenta miesięcznie. Hostowane agenty Linux kosztują $0.004 za minutę vCPU, naliczane co sekundę.
Czym różni się CRACI
Dowody bezpieczeństwa są częścią runnera
Przy agentach self-hosted za zabezpieczenie środowiska buildu odpowiadają Państwo. Własne wytyczne bezpieczeństwa Buildkite zalecają instalowanie minimalnych systemów operacyjnych, wyłączenie przychodzącego SSH i egzekwowanie ścisłej kontroli ruchu wychodzącego. To uczciwy podział odpowiedzialności, który oznacza, że dowody dotyczące łańcucha dostaw zależą od tego, co Państwa zespół zbuduje wokół agentów.
W CRACI ta warstwa jest dostarczana razem z runnerem. Proxy rozpoznające pakiety rejestruje ruch do źródeł pakietów w trakcie każdego zadania, obejmując npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk i źródła Git, a także presety pobierania. Dowody zależności są przenoszone razem z cache CI. Każde zadanie tworzy SBOM w formacie CycloneDX lub SPDX ze stanem kompletności dla każdego zadania i każdego cache: Complete, Complete with connections, Incomplete, Unavailable lub Not recorded.
Polityka ruchu wychodzącego bez samodzielnego budowania
Polityki ruchu wychodzącego CRACI działają w trybie domyślnej odmowy lub domyślnego zezwolenia, z 24 wbudowanymi presetami źródeł oprogramowania, typowanymi źródłami niestandardowymi dla npm, PyPI, apt, apk, proxy Go, Nix, Cargo, rejestrów OCI i Git oraz jawnymi regułami TLS, TCP, UDP i ICMP. Polityki są weryfikowane przed startem zadania, w razie błędu blokują ruch i wysyłają alert przy naruszeniu.
Pochodzenie i monitorowanie
API zwraca SBOM-y, ślady sieciowe i dane o pochodzeniu. CRACI nie podpisuje danych o pochodzeniu. Agreguje podatności z wielu buildów i repozytoriów oraz stale ponownie ocenia monitorowane SBOM-y.
Kompromis
CRACI jest wyłącznie usługą zarządzaną. Zadania działają w izolowanych maszynach wirtualnych na infrastrukturze CRACI, a kod źródłowy jest przetwarzany w maszynie wirtualnej zadania przez czas trwania buildu i nie jest przechowywany. W planie Enterprise CRACI oferuje rezydencję danych w UE z wykonywaniem buildów na europejskiej infrastrukturze bare-metal. Jeśli Państwa polityka wymaga buildów na własnym sprzęcie, ten wymóg spełnia model Buildkite, a nie model CRACI.
Które rozwiązanie wybrać
- Buildkite, jeśli potrzebują Państwo buildów na własnym sprzęcie lub we własnej sieci, uruchamiają buildy Windows lub macOS, korzystają z GitLab lub Bitbucket albo działają w skali, w której posiadanie własnej mocy obliczeniowej się opłaca.
- CRACI, jeśli korzystają Państwo z GitHub Actions i chcą mieć dowody z buildu bez ich budowania i utrzymywania: zarejestrowane zależności, politykę ruchu wychodzącego i dowody dla CRA z jednego runnera.
- Oba, jeśli Państwa organizacja jest podzielona: Buildkite dla pipeline'ów, które muszą pozostać na Państwa sprzęcie, CRACI dla workflow GitHub Actions w systemie Linux. Ciężkie buildy Linux, takie jak obrazy Yocto, mogą działać na runnerach CRACI o mocy do 32 vCPU i 96 GB RAM, jak opisano w przewodniku CRACI po Yocto.
Cyber Resilience Act
Unijny Cyber Resilience Act wymaga od producentów wiedzy o tym, co znajduje się w każdym wydaniu, i obsługi jego podatności, z obowiązkami zgłoszeniowymi od września 2026 i pełnym stosowaniem od grudnia 2027. W Buildkite te dowody pochodzą z narzędzi uruchamianych na Państwa agentach. CRACI tworzy je z zapisu buildu, stale monitoruje wydane oprogramowanie i eksportuje SBOM-y w formatach CycloneDX lub SPDX, łącznie z podatnościami. Automatyzuje znaczną część widoczności łańcucha dostaw oprogramowania i dowodów, których firmy potrzebują w szerszym procesie zgodności z CRA.
Dodanie CRACI
W przypadku repozytorium w GitHub z workflow GitHub Actions wystarczy zainstalować aplikację CRACI GitHub App w organizacji i ustawić etykietę runnera:
runs-on: craci
Uruchomienia nadal widać w interfejsie GitHub. Więcej o generowaniu SBOM w czasie buildu i podejściu CRACI do bezpieczeństwa oraz o cenach.
Proszę zobaczyć, co naprawdę pobiera jeden build
Proszę uruchomić jeden workflow GitHub Actions na CRACI i sprawdzić SBOM, ślad sieciowy i dane o pochodzeniu, które tworzy.
Umów demo