Vertailu
CRACI ja JFrog Artifactory
Artifactory näkee paketit, jotka kulkevat repositorioidesi läpi. CRACI näkee, mitä kukin buildi todella teki. Jos käytät jo Artifactorya, CRACI on lisä, ei korvaaja.
Päivitetty
Kaksi näkökulmaa samaan toimitusketjuun
Monet kehitysorganisaatiot ohjaavat pakettiliikenteen JFrog Artifactoryn kautta. Etärepositorio toimii julkisen rekisterin, kuten npm:n tai PyPI:n, välimuistiproxyna: se hakee paketit tarpeen mukaan ja säilyttää niistä kopion. Virtuaaliset repositoriot yhdistävät useita lähteitä yhden URL-osoitteen taakse. Omat buildituotoksesi ovat paikallisissa repositorioissa. Näin saat yhden paikan, josta näet ja hallitset, mitä yritykseen tulee.
CRACI sijaitsee muualla. Se on CI-runneri, jolla GitHub Actions -jobisi ajetaan, ja jokaisen jobin aikana se kirjaa ulkoiset riippuvuudet, jotka jobi hakee. Artifactory vastaa kysymykseen ”mitä repositorioidemme läpi on kulkenut?” CRACI vastaa kysymykseen ”mitä tämä tietty buildi käytti, ja mikä artefakti siitä syntyi?”
| Ominaisuus | CRACI | JFrog Artifactory |
|---|---|---|
| Ajaa buildisi | Jobit ajetaan CRACI:n runnereilla | Tarjoaa paketteja buildeille ja kehittäjille |
| Buildikohtainen riippuvuuskirjaus | Automaattinen jokaiselle jobille, kattavuus jobeittain ja välimuisteittain | Build-info, lisätään putkiin JFrog CLI:llä |
| Näkee proxyn ohi tehdyt haut | Kirjaa jokaisen haun pakettilähteistä | Muut työkalut kirjataan käsin build-add-dependencies-komennolla |
| Buildin verkon egress-käytäntö | Oletuksena estävä tai salliva, fail closed | Hallitsee repositorioita, ei buildin verkkoyhteyksiä |
| Pakettien estäminen | Egress-käytäntö rajaa tavoitettavat lähteet jo nyt | JFrog Curation etärepositorioissa, myös välimuistissa olevat |
| SBOM-vienti | CycloneDX ja SPDX jokaisesta buildista | CycloneDX ja SPDX JFrog Xrayn kautta |
| Artefakti linkitetty buildiinsa | Alkuperätiedot API:n kautta; ei allekirjoitettu | Build-info jäljitettävyyteen ja promootioon |
| Haavoittuvuusskannaus | Koottu buildien yli, seurattavat SBOM:t arvioidaan uudelleen | Xray skannaa artefaktit ja buildit |
| Artefaktien tallennus ja jakelu | Ei repositorionhallintaa; pidä nykyinen | Ydintuote, monille pakettityypeille |
| Yhteiskäyttö | Artifactoryn npm- ja PyPI-peilit toimivat CRACI-buildeissa. | Pysyy pakettien ja julkaisubinäärien totuuden lähteenä. |
- Sisältyy
- Osittain
- Ei sisälly
- Tiekartalla
Missä Artifactory on hyvä
Artifactory on kypsä repositorionhallintatyökalu. Se antaa tiimeille luotettavan, välimuistitetun pääsyn upstream-paketteihin, kodin sisäisille artefakteille ja yhden hallintapisteen monille pakettityypeille. Sen ympärillä JFrog Platform lisää muuta:
- Build-info. JFrog CLI:llä lisäät komentoihisi buildin nimen ja numeron ja julkaiset JSON-kirjauksen ratkaistuista riippuvuuksista, tuotetuista artefakteista, ympäristömuuttujista ja Git-tiedoista. Kirjaus tukee jäljitettävyyttä, buildien promootiota ja Xray-skannausta.
- Xray. Skannaa artefaktit ja buildit haavoittuvuuksien varalta ja vie SBOM:t SPDX- ja CycloneDX-muodossa. JFrogin lisenssimatriisin mukaan Xray sisältyy Pro X-, Enterprise X- ja Enterprise+-tilauksiin (syyskuussa 2026).
- Curation. Estää haitalliset tai haavoittuvat paketit etärepositoriossa ennen kuin ne päätyvät kehittäjille, myös paketit, jotka ovat jo etävälimuistissa.
Pakettitason estäminen rekisterissä on todellinen vahvuus. CRACI ei tänään estä yksittäisiä paketteja; organisaationlaajuinen pakettien estolista on CRACI:n tiekartalla.
Mitä CRACI tuo lisää
Näkyvyys, joka ei riipu reitityksestä
Artifactory näkee sen, mikä reititetään sen kautta. Buildit eivät aina tee yhteistyötä. Jobi voi ladata työkaluketjun
GitHub-julkaisusta, asentaa käyttöjärjestelmäpaketteja, hakea peruskuvan julkisesta rekisteristä tai ajaa skriptin, joka hakee
binäärin. JFrogin oma dokumentaatio toteaa, että muiden työkalujen hakemat riippuvuudet voi kirjata käsin
build-add-dependencies-komennolla, mikä tarkoittaa, että jonkun on tiedettävä niistä.
CRACI kirjaa runnerilla. Pakettitietoinen välityspalvelin tarkkailee liikennettä pakettilähteisiin jobin aikana ja kattaa npm-, PyPI-, RubyGems-, Composer-, Cargo-, Go-, Nix-, OCI-, apt-, apk- ja Git-lähteet sekä latausesiasetukset. Jos npm- tai PyPI-asennuksesi kulkevat Artifactory-peilin kautta, se toimii: CRACI kirjaa myös ne paketit.
Buildikohtainen näyttö ilman lisävaiheita
Build-info on arvokas, mutta se on jotain, mikä lisätään jokaiseen putkeen. CRACI:ssa kirjaus on olemassa jokaisesta jobista, koska runneri tuottaa sen. Riippuvuusnäyttö kulkee CI-välimuistien mukana, joten välimuistista palautettu paketti lasketaan silti mukaan. Jokaisella SBOM:lla on kattavuustila jobeittain ja välimuisteittain: Complete, Complete with connections, Incomplete, Unavailable tai Not recorded. Kun kirjauksessa on aukko, se kertoo sen.
Pidä buildit hyväksytyllä reitillä
Koska CRACI ajaa jobin, voit asettaa sen verkon egress-käytännön. Käytännöt ovat oletuksena estäviä tai oletuksena sallivia, ja niissä on 24 sisäänrakennettua ohjelmistolähteiden esiasetusta, tyypitetyt mukautetut lähteet (npm, PyPI, apt, apk, Go-proxy, Nix, Cargo, OCI-rekisterit ja Git) sekä eksplisiittiset TLS-, TCP-, UDP- ja ICMP-säännöt. Ne validoidaan ennen jobin alkua, ja ne toimivat fail closed -periaatteella. Käytäntö, joka sallii Artifactory-palvelimesi ja estää suoran pääsyn julkisiin rekistereihin, auttaa varmistamaan, että buildit todella käyttävät hallittua reittiä. CRACI hälyttää, kun jobi rikkoo käytäntöään.
Buildien näyttö Artifactoryn rinnalla
API palauttaa SBOM:t, verkkojäljet ja alkuperätiedot. CRACI ei allekirjoita alkuperätietoja. Tallenna artefakti Artifactoryyn kuten nytkin; kirjaus siitä, mitä buildi haki, tulee CRACI:sta.
Tiimeille, joita EU:n kyberkestävyyssäädös (Cyber Resilience Act, CRA) koskee, tämä kirjaus syöttää julkaisutason näyttöä. CRACI kokoaa haavoittuvuudet buildien ja repositorioiden yli, arvioi seurattavat SBOM:t jatkuvasti uudelleen ja vie ne CycloneDX- tai SPDX-muodossa. Katso CRA-näyttö ja CRA-vaatimustenmukaisuus.
Inventaario siitä, mitä on käytössä missäkin
CRACI:n inventaarionäkymä näyttää tarkalleen, mitkä ohjelmistoversiot ovat käytössä missäkin tuotteessa maailmanlaajuisesti. Kun uusi haavoittuvuus julkaistaan, näet, mitkä tuotteet ajavat haavoittuvaa versiota, sen sijaan että kokoaisit tiedon julkaisutiedotteista ja taulukoista.
Miten ne sopivat yhteen
- Pidä Artifactory pakettiproxynasi, artefaktivarastonasi ja julkaisujen jakelupisteenäsi.
-
Siirrä GitHub Actions -jobit CRACI:in vaihtamalla
runs-on-arvoksicraci. Työnkulut pysyvät ennallaan, ja ajot näkyvät edelleen GitHubin käyttöliittymässä. - Ohjaa npm- ja PyPI-asennukset Artifactory-peileihisi kuten nytkin.
- Käytä CRACI:n egress-käytäntöä pitämään buildit hyväksytyissä lähteissä, Artifactory mukaan lukien.
- Käytä CRACI:n buildikohtaista SBOM:ia, alkuperätietoja ja verkkojälkeä jokaisen julkaisun näyttönä.
Jos käytät tänään JFrogin build-infoa tai Curationia, pidä ne. CRACI tukee toistaiseksi vain GitHub Actionsia (GitLab CI ja Jenkins ovat tiekartalla), joten muissa CI-järjestelmissä toimivat putket pysyvät paikoillaan.
Jos olet korvaamassa itse Artifactorya, katso JFrog Artifactoryn vaihtoehdot.
Yleisiä kysymyksiä
Korvaako CRACI Artifactoryn?
Ei. CRACI ei ole repositorionhallintatyökalu. Se ei tallenna paketteja tai julkaisubinäärejä eikä jaa niitä. Se ajaa buildisi ja kirjaa niistä näyttöä.
Meneekö CRACI päällekkäin Xrayn kanssa?
Osittain. Molemmat vievät SBOM:t CycloneDX- ja SPDX-muodossa, ja molemmat auttavat seuraamaan haavoittuvuuksia. Ero on syötteessä. Xray skannaa artefaktit ja buildit, jotka JFrog tuntee. CRACI:n SBOM ja haavoittuvuusnäkymä perustuvat siihen, mitä kukin buildi haki ajon aikana, buildien ja repositorioiden yli. Jos Xray on osa julkaisuprosessiasi, pidä se ja käsittele CRACI:n buildikohtaista kirjausta toisena, riippumattomana lähteenä.
Mitkä Artifactoryn repositoriotyypit toimivat CRACI:n kanssa?
Artifactoryn npm- ja PyPI-peilien on vahvistettu toimivan CRACI-buildeissa. Muiden pakettityyppien osalta keskustele kanssamme kokoonpanostasi ennen kuin siirrät niitä putkia.
Lue lisää SBOM-generoinnista buildin aikana ja haavoittuvuuksien seurannasta, tai katso hinnoittelu.
Lisää buildien näyttö Artifactory-ympäristöösi
Aja yksi GitHub Actions -työnkulku CRACI:lla Artifactory-peiliäsi vasten ja katso, millaisen buildikohtaisen kirjauksen se tuottaa.
Varaa demo