Buck2, iyo itsva Facebook kuvaka system

Buck2-Gamba

Buck2, Facebook's new open source kuvaka system

Facebook yakaunzwa ichangoburwa nyowani yekuvaka system inonzi "Buck2", inotaura kuti ndiyo yakanangana nemapurojekiti ekuvaka kubva kumatura chaizvo makuru anosanganisira kodhi mumitauro yakasiyana zvirongwa.

Misiyano pakati pekushandiswa kutsva nehurongwa mari yakashandiswa kare Na facebook vari kushandisa Rust mutauro pachinzvimbo cheJava uye kuwedzera kukuru mukubudirira uye kushanda kwegadziriro yegungano (mumiyedzo yemukati pane zvivakwa zvakafanana, Buck2 inoita mabasa egungano kaviri nekukurumidza seBuck).

Vaka masisitimu anomira pakati pemugadziri uye kodhi yavo ichimhanya, saka chero chatinogona kuita kuti chiitiko ichi nekukurumidza kana kuti chiwedzere kubereka chinokanganisa mashandisiro angaite mugadziri. Chinangwa cheBuck2 chaive chekuchengeta izvo zvataida nezveBuck1 (izvo zvekutanga uye mafambiro ebasa), kutora kurudziro kubva kune post-Buck1 hunyanzvi (kusanganisira Bazel, Adapton, uye Shake), uye kutarisa kumhanya uye kugonesa zviitiko zvitsva.

Pamusoro peBuck2

Zvinosimbiswa izvo iyo system haina kusungirirwa pakusikwa kwekodhi mumitauro chaiyo uye kunze kwebhokisi, inotsigira mapurogiramu evaki akanyorwa muC ++, Python, Rust, Kotlin, Erlang, Swift, Objective-C, Haskell, uye OCaml inoshandiswa ne Facebook.

Mutauro weStarlark, wakavakirwa paPython (semuBazel), unoshandiswa kugadzira plugins, kugadzira zvinyorwa uye mitemo. Starlark inokutendera kuti uwedzere kugona kweiyo kuvaka sisitimu uye abstract kubva kune chaiwo mitauro inoshandiswa mumapurojekiti ari kuvakwa.

Izvo zvinotaurwa kuti kushanda kwepamusoro kunowanikwa ne caching mhinduro, kufanana kwebasa uye kutsigirwa kwekuita kure kure kwemabasa (Remote Build Execution).

Nzvimbo yekuvaka inoshandisa pfungwa ye "hermeticity": iyo yakaunganidzwa kodhi yakavharwa kubva kunze kwenyika, hapana chinotakurwa kubva kunze panguva yekuvaka maitiro, uye kudzokorora kuitwa kwebasa pane akasiyana masisitimu kunotungamira kune imwechete mhedzisiro (inodzokororwa inovaka, semuenzaniso, mhedzisiro yekunyora purojekiti pa muchina kubva kumugadziri uchave wakangofanana nekuvaka pane inoenderera yekubatanidza server). Kushaikwa kwemamiriro ekutsamira kunoonekwa muBuck2 sebug.

Kune chikamu che Buck2 Key Featureszvinotevera zvinotevera.

  • Mitemo yekutsigira programming mitauro uye musimboti kuvaka sisitimu yakaparadzana zvachose. Mitemo yakanyorwa mumutauro weStarlark, uye Starlark toolkit uye kuita zvakanyorwa muRust.
  • Iyo yekuvaka sisitimu inoshandisa imwechete yakawedzera kutsamira girafu (hapana staging), iyo inokutendera iwe kuti uwedzere kudzika kwekuenderana kwebasa uchienzaniswa neBuck neBazel uye kudzivirira akawanda marudzi etsikidzi.
  • Buck2's kodhi yakatumirwa paGitHub uye iyo programming mutauro wekutsigira mitemo yakada kufanana neyemukati vhezheni inoshandiswa muFacebook's infrastructure (misiyano chete iri mune chinongedzo kune compiler editions uye kuvaka maseva anoshandiswa neFacebook).
  • Iyo yekuvaka sisitimu yakagadzirirwa kubatanidza neyekure basa execution masisitimu ayo anobvumidza iwe kumhanyisa mabasa kumaseva ari kure. Iyo kure execution API inoenderana neBazel uye yakaedzwa kuti ienderane neBuildbarn uye EngFlow.
  • Kubatanidzwa neiyo chaiyo faira masisitimu inopihwa, umo zviri mukati meiyo yese repository zvinoratidzwa, asi kutaura zvazviri, basa rinoitwa nechikamu chaicho chenzvimbo yechikamu cheiyo repository (mugadziri anoona iyo yese repository, asi chii chete. zvinodiwa) mafaera anowanikwa anotorwa kubva kune repository). EdenFS-based VFS uye Git LFS inotsigirwa, iyo inoshandiswa neSapling.

Chekupedzisira, kune avo vanofarira kukwanisa kudzidza zvakawanda nezvazvo, vanofanirwa kuziva kuti iyo kodhi yakagoverwa pasi peiyo Apache 2.0 rezinesi uye vanogona kubvunza ruzivo. Mune inotevera chinongedzo.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako