Hacker News

Reproducible uye traceable gadziriso yeConan C uye C ++ package maneja

Comments

6 min read Via blog.conan.io

Mewayz Team

Editorial Team

Hacker News

Inogadzirwazve uye Inotevedzwa Configuration yeConan C uye C++ Package Manager

Kugadziridzwa uye kurongeka muConan inova nechokwadi chekuti chigadzirwa chega chega cheC neC++ chinoburitsa mibairo yakafanana zvisinei nemuchina, mugadziri, kana pombi yeCI irikuita. Nekuvhara mavhezheni ekutsamira, kutora zvigadziriso zvemuumbi mumaprofile, uye nekuchengetedza nzira yekuongorora yakajeka yezvese zvepakeji, zvikwata zvinobvisa iyo inozivikanwa kwazvo "inoshanda pamushini wangu" dambudziko rinotambudza budiriro yerudzi rwekufambiswa kwebasa.

Kune masangano einjiniya anotonga C++ macodebases, dhizaini yekumisikidza inopfuura kunetsa - ndiko kunodhura kwekugadzira tsikidzi, kusasimba kwekuchengetedza, uye kutambisa maawa emugadziri. Conan 2.x yakaunza kuvandudzwa kwakakosha mukuberekana uye kurongeka, zvichiita kuti ive de facto mwero weC uye C++ yemazuva ano kutsamira manejimendi. Kunzwisisa mashandisirwo ezvikwanisiro izvi kwakakosha kune chero timu yakakoshesa nezvekuvaka kuvimbika.

Sei Reproducible Configuration Yakakosha muC++ Package Management?

C uye C++ mapurojekiti anotarisana neakasarudzika kuberekana matambudziko ayo anochengetedzwa-mutauro ecosystem isingawanzo kusangana nawo. Compiler vhezheni, akajairwa raibhurari mashandisirwo, linker mireza, uye chinangwa chekuvaka zvese zvinopesvedzera kuenderana kwebhinari. Musiyano wakajeka padanho rekugadzirisa kana kusaenderana neABI marongero anogona kuunza kuparara kwenguva yekumhanya izvo zvinonetsa zvakanyanya kuziva.

Conan inogadzirisa izvi kuburikidza nesettings nemhando dzesarudzo. Yese pasuru inotakura metadata inotsanangura iyo chaiyo compiler, vhezheni, rudzi rwekuvaka, uye dhizaini yakavakirwa pairi. Paunoisa zvinoenderana, Conan inoverengera yakasarudzika pasuru ID kubva kune aya marongero, ichivimbisa kuti chete anowirirana mabhinari anogadziriswa. Iyi deterministic resolution ndiyo hwaro hwezvivakwa zvinogoneka.

Kunze kwekuenderana nebhinari, kuberekana kunotsigira kuteedzera kwemitemo mumaindasitiri akaita semotokari, aerospace, uye zvishandiso zvekurapa, kwaunofanirwa kuratidza kuti bhinari chaiyo yakavakwa kubva kune chaiwo masosi ane chaiwo maturusi cheni. Conan's lockfile mechanism inotora iyi girafu rese rekutsamira mune imwechete, inodzorwa neshanduro.

Ko Conan Lockfiles Anogonesa Sei Zvivakwa Zvinokwanisa Kurongeka?

. Paunomhanya conan lock gadzira, Conan anogadzirisa zvese zvinotenderera zvinotsamira uye anorekodha iwo chaiwo madzokororo, maID epakeji, uye nguva. Iri faira rekuvhara rinogona kuzvipira kudzora shanduro uye kugovaniswa muzvikwata zvese neCI nharaunda.

  • Version pinning: Mafaera anokiyira anotora ongororo chaiyo yezvose zvinotsamira, zvichidzivirira kukwidziridzwa kusingatarisirwi kubva pakupwanya kuvaka kwako pakati pekufamba kwepaipi.
  • Kutendeseka kwegirafu: The whole transitive dependency tree is chando, saka kusavimbika kwacho hakugone kusimuka pasina faira rekuvhara rakajeka.
  • CI/CD kusachinja-chinja: Kupfuudza faira rekuvhara rimwe chete kumugadziri wese wekuvaka kunoita kuti pave nezvinobuda zvakafanana kunyangwe ukavaka palaptop yekugadzira kana cloud runner.
  • Ongorora uye kudzoreredza: Nekushandura mafaera ekiyi pamwe nekodhi yekwakabva, unokwanisa kuvaka patsva chero chivakwa chekare sezvachakagadzirwa pakutanga.
  • Makiyi asina kukwana: Conan 2.x inotsigira kukiya chete zvikamu zvegirafu, zvichipa zvikwata kuchinjika kupinza zvakakosha uku uchibvumira kudzorwa kunodzorwa kumwewo.

Kuberekazve pasina kurondwa hakuna kukwana. Kuziva kuti chivakwa chine deterministic kwakakosha, asi kuziva chaizvoizvo izvo zvinopinza zvakagadzira bhinari yakapihwa - uye nekukwanisa kuzviratidza mushure memwedzi yakati - ndiko kunoparadzanisa engineering yehunyanzvi kubva pakufungidzira.

Nderipi Basa Rinoita MaProfiles uye Mafaera Ekugadzirisa?

Conan profiles inotsanangura nharaunda yekuvaka mune inozivisa, inotakurika fomati. Iyo mbiri inotsanangura iyo compiler, vhezheni yayo, iyo C ++ yakajairwa, iyo yakanangwa inoshanda sisitimu, uye chero tsika zvigadziriso kana nharaunda zvinosiyana zvinodiwa pakuvaka. Nekuchengetedza mafaera epuratifomu yega yega inotarirwa - Linux GCC 13, Windows MSVC 17, macOS Clang 16 - zvikwata zvinomisikidza zvigadziriso zvazvo zvematurusi munzvimbo dzese dzekushandira uye kuvaka sevha.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Mafarofayilo anogona kurongedzerwa uye kunyorwa. A base profil inogona kutsanangura marongero akagovaniswa, nepo chikuva-chaicho chivharidziro chinowedzera chinotarisirwa-chinotsamira mireza. Uku kuumbika kunoderedza kudzokorodza uye kunovimbisa kuti shanduko kune dzakagovaniswa marongero dzinopararira nguva dzose. Kuchengeta ma profiles mudura rako padivi pe conanfile.py yako inoshandura gadziriso yako yekuvaka kuita kodhi, zvichienderana nekuongorora kwakafanana uye maitiro ekushandura sekwako.

Conan inotsigirawo mafaira ekugadzirisa (global.conf uye ne-per-project conanfile.py magadzirirwo) anodzora maitiro akaita sekudhaunirodherwa kwakafanana, kuedzazve mitemo, uye tsika dzinokosha dziri kure. Kuisa pakati pezvirongwa izvi kunodzivirira vagadziri vega kubva pakuunza kusawirirana nekusaziva.

Matimu Anogona Sei Kubatanidza Zvivakwa Zvinoteedzera Mukufamba Kwazvo?

Kutora zvigadziriso zveConan zvinogoneka haingori sarudzo yekushandisa - inoda kufambiswa kwebasa. Tanga nekumisikidza imwe sosi yechokwadi yemaprofile uye mafairi ekuvhara mune yako repository. Batanidza lockfile chizvarwa mune yako yekudhonza chikumbiro mafambiro kuitira kuti shanduko yekutsamira iongororwe usati wabatanidzwa. Shandisa Conan's akavakirwa-mukati yedzokororo dzemabiki uye mapeji ekudzokorora kuti uchengetedze nhoroondo isingachinjiki yezvese zvakagadzirwa nechikwata chako.

Kune masangano anotungamira masevhisi mazhinji nemaraibhurari, kuoma uku kunosanganisirwa. Kutsvaga kuti ndeipi faira rekuvhara rinoenderana nekutumirwa kupi, kuchengetedza chimiro chakafanana munzvimbo dzese dzekuchengetedza, uye kuona kuti timu yega yega inotevedzera zvakafanana zvigadziriso zvinova dambudziko rekutonga purojekiti zvakanyanya seyehunyanzvi. Apa ndipo panobva paita chikuva chekushanda chepakati - kupa kuoneka kwezvikwata zvese, otomatiki kutarisa kutevedza, uye kubatanidza sarudzo dzekugadzirisa kuvaka kune yakakura nguva yeprojekiti uye mikuru yekutumira.

Mewayz's 207-module bhizinesi OS yakavakirwa chaizvo iyi mhando yekuyambuka-inoshanda kurongeka. Iine mamodule akatsaurirwa ekuronda purojekiti, kubatana kwechikwata, uye mafambiro ekushanda, Mewayz inopa vatungamiri veinjiniya dashibhodhi rimwe chete rekuti vatarise maitiro akatenderedza sarudzo dzehunyanzvi senge kutsamira manejimendi uye kuvaka zvigadziriso.

Mibvunzo Inowanzo bvunzwa

Ndeupi musiyano uripo pakati peConan lockfile nepini yeshanduro muconanfile.py?

Pini yevhezheni muconanfile.py yako (yakadai seinoda = "zlib/1.3.1") inomanikidzira shanduro dzekutsamira dzakananga asi haimisikidzi zvinotenderedza kana kutora mamwe maresipi edzokororo. Iyo yekukiya faira inoenda mberi nekurekodha yakazara yakagadziriswa girafu, kusanganisira yese isina kunanga kutsamira pamwe nekudzokorora kwayo, kuve nechokwadi chekugadzirisa kwakazara munzvimbo dzese.

Ko Conan kukiya mafaera anogona kushandiswa pane akasiyana masisitimu ekushandisa?

Mafaera akasungirirwa kune chaiwo marongero uye chimiro chakashandiswa panguva yekugadzira kwavo. Kana purojekiti yako yakanangana nemapuratifomu akawanda, iwe unowanzo gadzira yakaparadzana yekuvhara papuratifomu-profile musanganiswa. Conan 2.x inotsigira nzira dzekuvhara zvishoma dzinobvumira zvikamu zvakagovaniswa zvegirafu kuti zvivharwe ukuwo mapazi akananga papuratifomu achiramba achichinjika.

Zvikwata zvinofanirwa kuvandudza mafaera ekuvhara eConan kakawanda sei?

Best practice ndeye kugadzirisa malockfiles nemaune sechikamu cheyakarongwa ongororo yekutsamira - vhiki nevhiki kana bi-svondo pamapurojekiti anoshanda. Dzivisa kudzoreredza kukiya mafaera pane yega yega kuvaka, sezvo izvi zvinokunda chinangwa chavo. Bata zvigadziriso zvekuvhara sezvikumbiro zvekudhonza zvinoda kuongororwa, kuyedzwa, uye kubvumidzwa usati wabatanidzwa mubazi rako guru.

Kugadzirisa zvigadziriso zvezvivakwa zvinogoneka ndechimwe chikamu chepikicha yakakura inoshanda. Kubva pahutongi hwekutsamira kuenda kukubatana kwechikwata uye kurondwa kwekutakura, zvikwata zvemazuva ano zveinjiniya zvinoda zvinopfuura maturusi akapararira - zvinoda chikuva chakabatana. Join 138,000+ nyanzvi dziri kutoshandisa Mewayz kugadzirisa mashandiro adzo. Ongorora zvirongwa zvinotangira pa$19/mo uye ujekese mafambisirwo ako ebasa paapp.mewayz.com>.