Vertailu
CRACI vs. CircleCI
CircleCI ajaa CI/CD-putkesi ja jättää toimitusketjun tietoturvan liittämillesi työkaluille. CRACI on GitHub Actions -runneri, joka tallentaa, mitä jokainen buildi haki, joten SBOM ja alkuperätiedot tulevat itse buildista.
Päivitetty
Lyhyt vastaus
CircleCI on kypsä ja joustava CI/CD-alusta. Se liittyy GitHubiin, GitLabiin ja Bitbucketiin, ajaa jobeja monenlaisilla koneilla Docker-konteista macOS:ään ja GPU:ihin ja antaa paketoida uudelleenkäytettävät määritykset orbeiksi. Tietoturvassa CircleCI suojaa tunnistetiedot ja jättää skannauksen orbeille ja kolmannen osapuolen työkaluille.
CRACI valitsee toisen lähestymistavan: runneri on tietoturvakirjaus. Se ajaa GitHub Actions -jobit, havaitsee jokaisen ulkoisen riippuvuuden, jonka kukin buildi hakee, panee täytäntöön egress-käytännön buildin verkossa ja tuottaa näkemästään SBOM:t, alkuperätiedot ja CRA-näytön. Siinä on ero perinteisen CI:n ja tietoturvatietoisen CI:n välillä.
CRACI tukee toistaiseksi vain GitHub Actionsia; GitLab CI ja Jenkins ovat tiekartalla. CircleCI:tä ei vielä tueta. CircleCI:tä käyttävien tiimien pitäisi siirtää putki GitHub Actionsiin käyttääkseen CRACI-runnereita tai odottaa muiden CI-järjestelmien tukea, joka on tiekartalla.
| Ominaisuus | CRACI | CircleCI |
|---|---|---|
| Buildin aikana havaituista riippuvuuksista tehty SBOM | Jokainen jobi, kattavuustila mukana, myös välimuistin paketit | Riippuvuusskannaus lisäämiesi orbien kautta |
| Buildin verkon egress-käytäntö | Oletuksena estävä tai salliva, fail closed | IP-alueet antavat jobeille tunnetut lähdeosoitteet (Performance- ja Scale-tilaukset). |
| Haavoittuvuuksien valvonta | Seurattavat SBOM:t arvioidaan uudelleen | Kolmannen osapuolen skanneriorbien kautta |
| Versionhallinnan palveluntarjoajat | Toistaiseksi vain GitHub Actions | GitHub, GitLab ja Bitbucket |
| Ajoympäristöt | Linux-virtuaalikoneet x86-64:llä ja ARM64:llä | Docker, Linux, Arm, Windows, macOS, GPU |
| Itse ylläpidetyt runnerit | Asiakkaan ylläpitämät runnerit, Enterprise | Linux, Windows, macOS ja Kubernetes |
| Testien jako ajoitustietojen perusteella | Jako rinnakkaisille suorittimille ajoitusten mukaan | |
| Docker-kerrosten välimuisti | Paikalliset, etä- ja bind mount -kerrosvälimuistit | Kaikki paketit, 200 krediittiä jobin ajoa kohden |
| Hinta, 2 vCPU Linux | $0.004 minuutilta ($0.002 vCPU-minuutilta), mitataan sekunnin tarkkuudella. | Linux VM medium (2 CPU, 7,5 Gt) maksaa 10 krediittiä minuutilta, noin $0.006, kun 25 000 krediittiä maksaa $15. |
| Paketit | Maksa build-minuuteista: $0.004 minuutilta 2 vCPU:lla, mitataan sekunnin tarkkuudella. Ei kuukausimaksua eikä SBOM-kohtaista maksua. | Ilmainen 30 000 krediitillä kuukaudessa; Performance alkaen $15 kuukaudessa; Scale räätälöidyllä hinnalla (syyskuussa 2026). |
- Sisältyy
- Osittain
- Ei sisälly
- Tiekartalla
Missä CircleCI on hyvä
Laskentaympäristöjen laajuus. CircleCI tarjoaa Docker-, Linux VM-, Arm-, Windows-, macOS- ja GPU-resurssiluokat, joten yhdellä alustalla voi buildata backendin, Windows-asiakasohjelman ja iOS-sovelluksen. Itse ylläpidetyt runnerit laajentavat tämän omiin Linux-, Windows- ja macOS-koneisiisi sekä Kubernetesiin, eikä runnerien jobiaika kuluta krediittejä.
Nopeusominaisuudet. Docker-kerrosten välimuisti on saatavilla kaikissa paketeissa. Testien jako levittää testijoukon rinnakkaisille suorittimille nimen, tiedostokoon tai aiempien ajoitustietojen perusteella, mikä lyhentää kokonaisaikaa suurissa testijoukoissa.
Uudelleenkäytettävät määritykset. Orbit paketoivat jobeja, komentoja ja suorittimia, jotta tiimit voivat käyttää niitä uudelleen projektista toiseen, ja niiden avulla kolmannen osapuolen työkalut, myös tietoturvaskannerit, on helppo liittää mukaan.
Tunnistetietojen hygienia. CircleCI:n toimitusketjuohjeistus keskittyy salaisuuksien suojaamiseen: jaa ne konteksteihin, sijoita käyttöönotto- ja allekirjoitusavaimet rajoitettuihin konteksteihin, joita versionhallintasi ryhmät hallitsevat, ja käytä OIDC-tokeneita, jotta jobit pääsevät pilvipalveluihin ilman CircleCI:hin tallennettuja pitkäikäisiä tunnistetietoja.
Missä CRACI eroaa
Buildi on totuuden lähde
Perinteisellä CI-alustalla SBOM:n tuottaa putkeen lisäämäsi työkalu, joka yleensä lukee manifestit ja lukitustiedostot (lockfile). CRACI sen sijaan havainnoi buildia. Paketit tunnistava välityspalvelin (proxy) tallentaa liikenteen pakettilähteisiin jobin ajon aikana: npm, PyPI, RubyGems, Composer, Cargo, Go, Nix, OCI, apt, apk ja Git-lähteet sekä latausesiasetukset. Riippuvuusnäyttö kulkee CI-välimuistien mukana, joten välimuistista palautettu paketti lasketaan silti mukaan.
Tiedät, kuinka kattava SBOM on
Jokainen jobi tuottaa CycloneDX- tai SPDX-muotoisen SBOM:n, jolla on kattavuustila jobi- ja välimuistikohtaisesti: Complete, Complete with connections, Incomplete, Unavailable tai Not recorded.
Buildin verkolla on käytäntö
CircleCI:n IP-alueominaisuus ohjaa jobit tunnettujen CircleCI-osoitteiden kautta, jotta omat järjestelmäsi voivat sallia ne. Se ratkaisee saapuvan pääsyn. CRACI lisää hallinnan toiseen suuntaan: jobikohtaiset egress-käytännöt, oletuksena estävät tai oletuksena sallivat, 24 valmista ohjelmistolähteiden esiasetusta, tyypitetyt omat lähteet sekä eksplisiittiset TLS-, TCP-, UDP- ja ICMP-säännöt. Käytännöt validoidaan ennen jobin alkua, ja ne noudattavat fail closed -periaatetta. CRACI tarjoaa myös vakaan lähtevän liikenteen IP-osoitealueen.
Alkuperätiedot ja valvonta samasta kirjauksesta
API palauttaa SBOM:t, verkkojäljet ja alkuperätiedot. CRACI kokoaa haavoittuvuudet buildien ja repositorioiden yli ja arvioi seurattavia SBOM:eja jatkuvasti uudelleen.
Kumpi sopii
- Pysy CircleCI:ssä, jos koodisi on GitLabissa tai Bitbucketissa, jos olet riippuvainen Windows-, macOS- tai GPU-buildeista tai jos ajat jobeja omalla laitteistollasi.
- Harkitse CRACI:a, jos koodisi on GitHubissa ja punnitset GitHub Actionsia CircleCI:tä vastaan ja toimitat ohjelmistoa, jonka jokaisen julkaisun sisältö sinun on pystyttävä osoittamaan.
- Käytä molempia vaiheittaisen siirtymän aikana: pidä macOS- ja Windows-putket CircleCI:ssä ja aja Linuxin GitHub Actions -työnkulut CRACI:ssa siellä, missä buildin näyttö on tärkeintä.
Kyberkestävyyssäädöstä varten
EU:n kyberkestävyyssäädös (Cyber Resilience Act, CRA) edellyttää, että valmistajat tietävät, mitä kussakin julkaisussa on, ja käsittelevät sen haavoittuvuudet. Raportointivelvoitteet alkavat syyskuussa 2026 ja säädöstä sovelletaan kokonaisuudessaan joulukuusta 2027. CircleCI:ssä tämä näyttö tulee niistä skannereista ja orbeista, jotka liität putkiisi. CRACI tuottaa sen buildin kirjauksesta ja vie SBOM:t CycloneDX- tai SPDX-muodossa haavoittuvuuksineen. Se automatisoi merkittävän osan siitä ohjelmistotoimitusketjun näkyvyydestä ja näytöstä, jota yritykset tarvitsevat laajemmassa CRA-vaatimustenmukaisuusprosessissaan.
Putken siirtäminen CRACI:iin
CRACI ajaa GitHub Actions -työnkulkuja, joten CircleCI-putkelle tarvitaan ensin GitHub Actions -vastine. Kun se on olemassa, asenna CRACI GitHub App organisaatioosi ja aseta runnerin label:
runs-on: craci
Ajot näkyvät edelleen GitHubin käyttöliittymässä. Jobit saavat Docker Enginen, Buildxin ja Compose v2:n, runnerikoot 1–32 vCPU:ta, jokaista kohden 3 Gt RAM-muistia, sekä GitHub Actionsin välimuistin tuen. Lue lisää SBOM-generoinnista buildin aikana tai katso hinnoittelu ja startup-ohjelma.
Aja yksi oikea buildi ja vertaa
Ohjaa yksi GitHub Actions -työnkulku CRACI:iin ja vertaa sen SBOM:ia siihen, mitä nykyinen putkesi tuottaa.
Varaa demo