Hacker News

BuildKit: Докерын бараг бүх зүйлийг бүтээж чадах нууцлаг үнэт чулуу

Сэтгэгдэл

2 min read Via tuananh.net

Mewayz Team

Editorial Team

Hacker News

BuildKit: Докерын бараг бүх зүйлийг бүтээх боломжтой нууцлаг үнэт чулуу

Ихэнх хөгжүүлэгчид Docker-ийг програм хангамжийн тээвэрлэлтийг өөрчилсөн контейнерийн ажиллах цаг гэж мэддэг. Орчин үеийн Docker-ийн бүтээц бүрд чимээгүйхэн дуугарч буй хөдөлгүүрийн тухай мэдэх хүн цөөхөн байдаг — BuildKit, дараагийн үеийн бүтээх систем нь 18.09 хувилбараас хойш Docker-тэй хамт нийлүүлэгдэж, Docker 23.0-ийн анхдагч арын хэсэг болсон. Инженерүүд Kubernetes-ийн тохиргоо болон микро үйлчилгээний загваруудын талаар эцэс төгсгөлгүй маргаж байгаа ч BuildKit нь DevOps экосистем дэх хамгийн хүчирхэг, уян хатан бүтээх системүүдийн нэг болж тогтвортой хөгжиж байна. Хэрэв та үүнийг зүгээр л илүү хурдан docker build гэж үзэж байгаа бол асар их чадварыг ширээн дээр үлдээж байна гэсэн үг. Өндөр хүчин чадалтай CI/CD дамжуулах хоолой ажиллуулж буй компаниуд BuildKit-ийн санал болгож буй зүйлийг ойлгосноор бүтээн байгуулалтын хугацааг 50-70%-иар бууруулсан ба энэ бол зөвхөн эхлэл юм.

BuildKit нь сонгодог бүтээгчээс юугаараа ялгаатай вэ

Анхны Docker build хөдөлгүүр нь Dockerfile-ийн зааврыг дараалан, нэг давхаргаар гүйцэтгэдэг бөгөөд ямар ажил зэрэгцэн аюулгүйгээр хийгдэж болохыг мэддэггүй. BuildKit нь тухайн шугаман гүйцэтгэлийн загварыг чиглүүлсэн цикл бус графикаар (DAG) сольдог бөгөөд энэ нь аль бүтээх үе шат нь бие биенээсээ хамааралтай, аль нь хамаарахгүй болохыг ойлгох хамаарлын график юм. Бие даасан үе шатууд зэрэгцэн хийгдэж, ашиглагдаагүй үе шатуудыг бүхэлд нь алгасаж, бүхэл бүтэн бүтэц нь таны зөв дарааллаар унших ёстой алхмуудын зайлшгүй дараалал гэхээсээ илүү таны хүссэн зүйлийн тунхаглал болж хувирдаг.

Энэхүү архитектурын өөрчлөлт нь хурдаас давсан бодит үр дагавартай. Олон үе шаттай Dockerfile нь Go хоёртын файлыг нэг үе шатанд хөрвүүлж, нөгөө шатанд Node.js хамаарлыг татаж, гурав дахь шатанд үйлдвэрлэлийн дүрсийг угсарвал BuildKit эхний хоёр үе шатыг зэрэг ажиллуулж чадна. Өмнө нь хүчирхэг CI гүйгч дээр дөрвөн минут зарцуулдаг байсан бүтээн байгуулалт одоо ерэн секундын дотор дуусна. Stripe, Shopify болон бусад өндөр хэмжээний инженерийн багууд өөрсдийн дотоод багаж хэрэгслийн эргэн тойрон дахь ижил төстэй ололтоо баримтжуулсан. DAG загвар нь мөн BuildKit нь өндөр нарийвчлалтай бүтээх мета өгөгдлийг үүсгэх боломжтой гэсэн үг бөгөөд энэ нь нийлүүлэлтийн сүлжээний аюулгүй байдалд асар их ач холбогдолтой гарал үүслийн гэрчилгээ, програм хангамжийн материалын тооцоо (SBOM) үүсгэх зэрэг функцүүдийн үндэс суурь болно.

Мөн кэшийг хүчингүй болгох үйл ажиллагаанд үзэл баримтлалын өөрчлөлт гарсан. Сонгодог бүтээгч нь өөрчлөгдсөн зааврын доорх давхарга бүрийг хүчингүй болгосон. BuildKit нь оролт бүр дээр агуулгын хэшийг хянадаг тул Dockerfile доторх тайлбарыг өөрчлөх нь гучин минутын эмхэтгэлийг төлөөлөх кэшийн оруулгыг устгахгүй. Таны бүтээх кэш нь таны инженерийн багийн таван минут, дөчин минутын санал хүсэлтийн давталтын хоорондох зөрүүтэй үед энэ нарийвчлал нь анх санагдсанаас хамаагүй илүү чухал юм.

Олон платформ бүтээх: Нэг тушаал, архитектур бүр

BuildKit-ийн --platform туг ба QEMU интеграцчилал нь олон системийн зохицуулалтын асуудал байсан үеийг нэг команд болгон хувиргадаг. docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 .-г ажиллуулснаар нэг бүтээх дуудлагаас гурван үйлдвэрлэлд бэлэн зураг зэрэгцэн гардаг. Салбар нь ARM руу шилжихийн хэрээр энэ чадвар маш чухал болсон — AWS Graviton3 инстанцууд нь вэб үйлчилгээ болон өгөгдөл боловсруулах зэрэг ажлын ачаалал дээр 40%-иар илүү үнийн гүйцэтгэлийг тогтмол хангадаг бөгөөд Apple Silicon нь ARM-ийг сая сая инженерүүдийн үндсэн хөгжүүлэлтийн машин болгосон.

BuildKit-ийн олон платформын дэмжлэг төлөвшихөөс өмнө өөр өөр архитектурт зориулж тусдаа угсралтын шугамыг хадгалах нь бодит зардлын төв байсан. Багууд нэг бол олон Dockerfile-ийг хөтөлж, өөр өөр архитектуртай гүйгч дээр тусдаа CI дамжуулах шугам ажиллуулж, эсвэл зүгээр л x86 зургийг хаа сайгүй илгээж, ARM дэд бүтцэд гүйцэтгэлийн торгууль төлсөн. BuildKit-ийн тусламжтайгаар та өөрийн бүтээцийг нэг удаа тодорхойлж, системд архитектурын тусгай эмхэтгэлийг ил тод байдлаар зохицуулах боломжийг олгоно. Хөндлөн эмхэтгэл шаарддаг Rust төслүүд, CGO хамаарал бүхий Go төслүүд, C өргөтгөлтэй Python багцууд — BuildKit нь таныг зорилтот платформ бүрийн нарийн ширийнийг ойлгох шаардлагагүйгээр эмуляцийн давхаргыг зохицуулдаг.

Энд байгаа бизнесийн бодит үнэ цэнийг хэмжих боломжтой. AWS Graviton төхөөрөмж дээр 200 контейнер ажиллуулж, vCPU-цаг тутамд $0.04, x86-тай дүйцэхүйц инстанцыг vCPU-цаг тутамд $0.056-аар ажиллуулж байгаа баг 100 vCPU тутамд жилд ойролцоогоор $11,520 хэмнэнэ. Энэ нь зөвхөн зөв архитектурыг сонгохоос үүдэлтэй юм. Энэ сонголтыг дахин боловсруулах хүчин чармайлтгүйгээр хүртээмжтэй болгох нь дэд бүтцийн оновчлол юм.

Зургийн давхарга руу орохгүйгээр нууц менежмент

BuildKit-ийн хамгийн дутуу үнэлэгдсэн функцүүдийн нэг бол нууц API юм. Сонгодог Docker бүтээгчид итгэмжлэлүүдийг зургийн давхаргад оруулахгүйгээр бүтцэд дамжуулах цэвэр арга байгаагүй. Хөгжүүлэгчид үүнийг олон үе шаттай бүтээц, ARG зааварчилгаа, болгоомжтой захиалгаар тойрон ажилласан боловч API түлхүүр эсвэл хувийн SSH түлхүүрийг илгээсэн зураг руу санамсаргүйгээр жигнэх эрсдэл өндөр хэвээр байв. Аюулгүй байдлын сканнерууд олон нийтийн бүртгэлд нийтэлсэн чингэлэг зургуудаас хатуу кодлогдсон итгэмжлэлүүдийг байнга олдог бөгөөд эдгээр задруулсан мэдээллийн ихэнх нь бүтээх явцад болхи нууцтай харьцсантай холбоотой байдаг.

BuildKit-ийн --secret туг нь эмзэг өгөгдлийг бүтээх орчинд зөвхөн тодорхой RUN зааврын хугацаанд л байдаг түр зуурын файлын системийн зам болгон холбодог бөгөөд ямар ч зургийн давхаргад хэзээ ч хүрдэггүй. RUN --mount=type=secret,id=npmrc cat /run/secrets/npmrc > ~/.npmrc && npm install гэх мэт Dockerfile заавар нь эцсийн зураг эсвэл ямар нэгэн завсрын давхаргад эдгээр итгэмжлэлүүд гарч ирэхгүйгээр хувийн npm итгэмжлэлд хандах боломжийг олгодог. Үүнтэй ижил загвар нь PyPI итгэмжлэл, Maven тохиргоо, хувийн Git репозиторын SSH түлхүүр болон таны бүтээх явцад шаардлагатай бусад эмзэг материалд тохирно.

Эрүүл мэндийн платформ, финтекийн бүтээгдэхүүн, хүний нөөцийн программ хангамж гэх мэт зохицуулалттай салбаруудыг хамарсан программ хангамжийг бүтээж буй багуудын хувьд "Итгэмжлэх жуух бичиг зураг дээр байж магадгүй" болон "Итгэмжлэх жуух бичиг зураг дээр байх боломжгүй" гэсэн хоёрын ялгаа нь аюулгүй байдлын аудитыг давж, үр дүнг засахад гурван долоо хоног зарцуулахын хоорондох ялгаа юм. Цалин, хүний нөөц, нэхэмжлэх зэрэг салбарын 138,000 гаруй хэрэглэгчийн бизнесийн үйл ажиллагааг хангадаг Mewayz зэрэг платформууд нь үйлчлүүлэгчдийн санхүүгийн болон боловсон хүчний эмзэг өгөгдөлд итгэх итгэлийг хадгалахын тулд бүтээн байгуулалт, ашиглалтын шугамын аюулгүй байдлын ийм баталгаатай байдлаас хамаардаг.

Кэшийн экспорт: CI дамжуулах хоолойг үнэхээр хурдан болгох

CI дамжуулах хоолой нь бүтээцийн гүйцэтгэл хамгийн чухал бөгөөд анхдагч Docker бүтээх туршлага түүхэндээ хамгийн их зовлонтой байсан газар юм. Шинэ CI гүйгч нь ихэвчлэн хоосон кэшээр эхэлдэг бөгөөд дамжуулах хоолой бүр бүх зүйлийг эхнээс нь дахин хөрвүүлдэг гэсэн үг юм. Олон зуун Maven хамаарал бүхий Java үйлчилгээ, Rust төсөл эсвэл хүнд өргөтгөлтэй Python програмын хувьд энэ нь бүтээх хугацааг секундээр бус хэдэн арван минутаар хэмждэг гэсэн үг юм. Удаан CI-ийн бизнесийн зардал асар их байна — ашиглалтын давтамж буурч, санал хүсэлтийн гогцоонууд уртасч, инженерүүд нийлж, цааш явахын өмнө дамжуулах хоолойг дуусгахыг хүлээсээр сул зогсдог.

BuildKit-ийн кэш экспортлох функц нь үүнийг экспортлох боломжтой кэш манифестуудаар шийддэг. BuildKit нь --cache-to type=registry,ref=myregistry/myapp:cache болон --cache-from type=registry,ref=myregistry/myapp:cache-г ашигласнаар BuildKit нь дараагийн болон эхлэх бүрд кэшийн нарийвчилсан агшин агшныг бүртгэл рүү шилжүүлдэг. Кэш нь агуулгын хаягтай тул зөвхөн жинхэнэ өөрчлөгдсөн давхаргууд дахин татагдана. Энэ загварыг GitHub Actions, GitLab CI болон CircleCI-д ашигладаг багууд дараагийн гүйлтүүдэд дамжуулах хоолойн хугацааг арван таван минутаас гурваас доош болгон багасгадаг. GitHub-ийн дэвшилтэт Docker бүтээх ажлын урсгалын талаарх өөрийн баримт бичиг нь яг ийм шалтгаанаар энэ загварыг маш ихээр санал болгодог.

Хамгийн хурдан бүтээц бол дахин хэзээ ч ажиллуулах шаардлагагүй юм. BuildKit-ийн давхраатай, контент хаягтай кэш систем нь зөвхөн бүтээцийг хурдасгаад зогсохгүй, "бүтээл" гэсэн ойлголтыг бүхэлд нь илүү ухаалаг болгож, давтагдсан эмхэтгэлийг яг юу өөрчлөгдсөнийг нэмэгдүүлсэн зөрүү болгон хувиргадаг.

Кэшийн экспорт нь салбар дээр суурилсан хөгжүүлэлтийн ажлын урсгалтай цэвэрхэн нэгдсэн. Салбарын кэш байхгүй үед та өөрийн CI дамжуулах шугамыг тухайн салбарын кэшээс үндсэн салбар кэш рүү буцаахаар тохируулж болно, энэ нь шинэ салбарууд таны үндсэн хөгжүүлэлтийн шугамд хуримтлагдсан дулаан кэшээс шууд ашиг хүртэх болно. Инженерүүд хүйтнээр эхлэх шийтгэлийг хүлээхээс илүүтэйгээр шинэ салбар дээр анх амласан даруйдаа хурдан хариу хүлээн авдаг.

💡 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 →

BuildKit Frontends: Dockerfiles-аас гадна бий болгох

Магадгүй BuildKit-ийн хамгийн бага мэддэг чадвар бол Dockerfiles нь цорын ганц биш зөвхөн нэг боломжит оролтын формат юм. BuildKit нь залгах боломжтой урд талын архитектуртай бөгөөд энэ нь бүхэлдээ өөрчлөн бүтээх хэл, форматыг тодорхойлох боломжийг олгодог. Frontend нь таны бүтээх файлын дээд хэсэгт байрлах # syntax= заавраар тодорхойлогддог бөгөөд энэ нь BuildKit-д тодорхой урд талын дүрсийг татаж аваад, түүгээр файлын үлдсэн хэсгийг задлан шинжилж, ажиллуулахыг хэлдэг.

Энэ архитектур нь хэд хэдэн анхаарал татахуйц төслийг идэвхжүүлсэн. Buildpacks интеграцчилал нь BuildKit-д ямар ч Dockerfileгүйгээр програмын эх кодоос контейнерийн зургийг бүтээх боломжийг олгодог — энэ нь хэлийг илрүүлж, тохирох үндсэн зургийг сонгож, үйлдвэрлэхэд бэлэн контейнерийг автоматаар угсардаг. HPC болон шинжлэх ухааны тооцооллын нийгэмлэгүүд BuildKit-ийн дотоод LLB (Low-Level Build) төлөөллийг хөрвүүлдэг домэйны тусгай хэл дээрх бүтээцийг тайлбарлахын тулд захиалгат фронтуудыг ашигласан. docker/dockerfile:labs синтакс нь heredoc-ийн дэмжлэг, заавар тус бүрийн --network удирдлага, сайжруулсан кэшийн зөвлөмж зэрэг функцуудыг тогтвортой Dockerfile синтакс руу оруулахаас өмнө туршилт хийдэг.

Өөрийн нүүр царайг тодорхойлох чадвар нь ер бусын бүтээх шаардлага бүхий байгууллагууд "бүх зүйлийг Dockerfile синтакс руу оруулах" эсвэл "контейнерийг бүрмөсөн орхих" хоёрын хооронд сонголт хийх шаардлагагүй болно гэсэн үг юм. FPGA программ хангамж, суулгагдсан системийн зураг эсвэл тусгай ML загварын контейнерийг бүтээх баг нь контейнер ажиллуулдаг хаана ч байрлуулах стандарт OCI-д нийцсэн контейнерийн зургийг үйлдвэрлэсээр байхын зэрэгцээ өөрсдийн домэйнд утга учиртай нэр томьёогоор бүтээж чадна. Энэхүү өргөтгөх боломж нь оролтын форматыг тогтмол гэж үздэг бүтээх системээс жинхэнэ архитектурын давуу тал юм.

Үндэслэл ба SBOM: Нарны салхины дараах ертөнцийг бий болгох нь

Програм хангамжийн хангамжийн сүлжээний аюулгүй байдал нь 2020 онд SolarWinds-ийн зөрчил, 2021 онд Log4Shell-ийн эмзэг байдлын дараа онолын асуудлаас ТУЗ-ийн түвшний тэргүүлэх чиглэл рүү шилжсэн. 2021 оны 5-р сард гаргасан кибер аюулгүй байдлын тухай АНУ-ын засгийн газрын 14028 тоот тушаал, холбооны программ хангамжийн гэрээний материал. BuildKit-ийн гарал үүслийн баталгаажуулалт болон SBOM үүсгэх онцлогууд нь энэхүү зохицуулалт, аюулгүй байдлын нөхцөлд шууд хариу үйлдэл үзүүлж байна.

--provenance=true болон --sbom=true тугуудын тусламжтайгаар BuildKit нь контейнерийн зурагт яг юу орсон, ямар үндсэн зургуудыг ашигласан, ямар Dockerfile зааварчилгааг гүйцэтгэсэн, ямар эх файлууд байгаа, ямар гадаад хамаарал авчирсан зэргийг тодорхойлсон криптографийн гарын үсэг бүхий баталгаажуулалтыг үүсгэдэг. Эдгээр баталгаажуулалтууд нь SLSA (Програм хангамжийн олдворуудын нийлүүлэлтийн гинжин хэлхээний түвшин) тогтолцоо болон дотогш баталгаажуулалтын форматыг дагаж мөрддөг бөгөөд үүнийг Sigstore-н Cosign болон OPA (Нээлттэй бодлогын агент) зэрэг бодлогын хөдөлгүүрүүдээр машинаар баталгаажуулах боломжтой болгодог.

Үүнийг идэвхжүүлсэн практик ажлын урсгал дараах байдалтай байна:

  1. Хөгжүүлэгч кодыг түлхэж өгдөг; CI дамжуулах хоолой нь гарал үүслийг идэвхжүүлсэн BuildKit бүтцийг идэвхжүүлдэг.
  2. BuildKit нь бүх бүрэлдэхүүн хэсгүүд болон тэдгээрийн хувилбаруудыг жагсаасан гарын үсэгтэй SBOM үүсгэдэг.
  3. SBOM нь зургийн манифестын хамт контейнерийн бүртгэлд нийтлэгддэг.
  4. Кубернетес кластер дахь элсэлтийн хянагч нар байршуулахыг зөвшөөрөхөөс өмнө гарал үүслийг баталгаажуулдаг.
  5. Эмзэг байдлын сканнерууд шинэ CVE-г задруулах үед нөлөөлөлд өртсөн зургуудыг тодорхойлохын тулд SBOM-оос асуудаг.

Энэхүү иж бүрэн шугамыг хэрэгжүүлэгч багууд ажиллаж байгаа сав бүрийн бүрэлдэхүүн хэсэг бүрийг нарийн, машинд уншигдах газрын зурагтай байдаг тул эмзэг байдлын илрүүлэлтэд хэдэн өдрийн дотор хариу өгөх боломжтой. Mewayz гэх мэт үйлчлүүлэгчдийнхээ үйл ажиллагааны ажлын урсгалтай нягт уялдаатай байдаг - цалингийн бүртгэл хөтлөх, флотын мэдээллийг удирдах, нэхэмжлэх боловсруулах зэрэг бизнесүүдийн хувьд нягт нямбай, аудит хийх боломжтой ханган нийлүүлэлтийн сүлжээг харуулах чадвар нь зүгээр нэг таатай зүйл биш, харин аж ахуйн нэгжийн борлуулалтын яриа хэлэлцээний урьдчилсан нөхцөл болж байна.

Эхлэх: Өгөгдмөл бүтээцээс дэвшилтэт дамжуулах хоолой хүртэл

Хэрэв та Docker 23.0 болон түүнээс хойших сүүлийн хувилбарыг ашиглаж байгаа бол BuildKit таны Docker орчинд аль хэдийн ажиллаж байна. Ихэнх багуудын хувьд хамгийн эхний практик алхам бол Docker Buildx залгаасыг идэвхжүүлэх явдал бөгөөд энэ нь docker buildx дэд командаар дамжуулан BuildKit-ийн бүх функцийг харуулж байна. docker buildx create --use-г ажиллуулснаар өгөгдмөл драйвераас илүү чадвартай BuildKit бүтээгчийн жишээг тохируулдаг. Эндээс бүх зүйлийг нэг дор ашиглах гэж оролдохоос илүү дэвшилтэт функцуудыг үе шаттайгаар нэвтрүүлэх нь утга учиртай болно.

Одоогоор үндсэн docker build дуудлагуудыг хийж байгаа багийн хувьд үрчлүүлэх боломжийн зам нь эхлээд CI-д кэшийн экспортыг нэмж байгаа юм шиг харагдаж байна. Энэ нь тохиргооны хамгийн бага өөрчлөлттэй шууд хэмжигдэхүйц хурдыг сайжруулдаг. Баг нь ARM дэд бүтцэд чиглэж эхлэхэд олон платформын бүтээц үнэ цэнэтэй болдог. Хувийн багцын бүртгэл эсвэл SSH түлхүүрүүдийг бүтээх контекст дээр гарч ирэх үед нууц холболтыг ашиглах нь зүйтэй. Нийлүүлэлтийн гинжин хэлхээний баримт бичгийг дагаж мөрдөх шаардлага эсвэл аж ахуйн нэгжийн хэрэглэгчийн хүсэлтийг хангах үед гарал үүслийн гэрчилгээг идэвхжүүлэх нь утга учиртай.

BuildKit-ийн илүү гүнзгий сургамж бол санаатайгаар бүтээх тухай юм. Та бичил үйлчилгээ, машин сургалтын дүгнэлтийн төгсгөлийн цэг эсвэл Mewayz-ийн 207 бизнесийн модулиас бүрдсэн цогц платформд зориулсан контейнер тээвэрлэж байгаа эсэхээс үл хамааран угсрах үйл явц нь таны байршуулах замдаа яарах албан ёсны ажил биш бөгөөд энэ нь тээвэрлэж буй бүх зүйлийн чанар, аюулгүй байдлын төлөв байдал, үйл ажиллагааны төлөвшлийг тусгасан инженерийн олдвор юм. BuildKit нь тэр олдворыг маш сайн болгох хэрэгслүүдийг танд өгдөг. Асуулт бол та тэдгээрийг ашиглахад цаг зарцуулж байгаа эсэхэд л байгаа юм.

Байнга асуудаг асуултууд

BuildKit гэж юу вэ, энэ нь сонгодог Docker бүтээх системээс юугаараа ялгаатай вэ?

BuildKit нь Docker 18.09-д танилцуулагдсан, Docker 23.0-д анхдагч болгосон Докерын дараагийн үеийн бүтээх хөдөлгүүр юм. Сонгодог бүтээгчээс ялгаатай нь BuildKit нь давхаргын зэрэгцээ гүйцэтгэл, кэш хийх дэвшилтэт стратеги, нууц холболт, платформ хоорондын бүтцийг дэмждэг. Энэ нь бүтээх үйл явцыг чиглүүлсэн мөчлөгийн график (DAG) болгон авч үздэг бөгөөд энэ нь нарийн төвөгтэй, олон үе шаттай Dockerfiles-д илүү ухаалаг хамаарлыг шийдвэрлэх, бүтээх хугацааг эрс хурдасгах боломжийг олгодог.

Би BuildKit-г Docker-тэй ашиглаж эхлэхийн тулд нэмэлт зүйл суулгах шаардлагатай юу?

Хэрэв та Docker 23.0 эсвэл түүнээс хойшхи хувилбарыг ажиллуулж байгаа бол нэмэлт суулгах шаардлагагүй — BuildKit нь анхдагчаар идэвхждэг. Хуучин хувилбарууд дээр та бүтээх командаа ажиллуулахын өмнө DOCKER_BUILDKIT=1 орчны хувьсагчийг тохируулснаар үүнийг идэвхжүүлж болно. Алсын зайнаас бүтээх кэш эсвэл олон платформ бүтээх зэрэг дэвшилтэт хэрэглээний тохиолдлуудад та docker buildx create-г ашиглан тусгай Buildx бүтээгч жишээг тохируулахыг хүсэж болно.

BuildKit-ийг стандарт контейнерийн зургаас илүү олдвор бүтээхэд ашиглаж болох уу?

Тийм ээ, энэ бол BuildKit-ийн хамгийн дутуу үнэлэгддэг чадваруудын нэг юм. BuildKit нь захиалгат урд талбарууд болон --output тугийг ашиглан түүхий хоёртын файлууд, tarballs, статик вэб сайтууд болон бусад дурын файлын олдворуудыг үүсгэх боломжтой - зөвхөн OCI дүрс биш. Энэ нь түүнийг ерөнхий зориулалтын бүтээх хөдөлгүүр болгож, өөр өөр багуудад нэгдсэн багажны гинжнээс өөр өөр гаралтын формат шаардлагатай полиглот монорепо болон нарийн төвөгтэй CI дамжуулах хоолойд угаасаа зохицдог.

BuildKit нь Mewayz зэрэг хэрэгслүүдийн хажуугаар илүү өргөн DevOps платформд хэрхэн нийцдэг вэ?

BuildKit нь доод түвшний бүтээх давхаргыг зохицуулдаг ч орчин үеийн хөгжүүлэлтийн багууд бизнесийн ажлын урсгал, үйлчлүүлэгчийн хүргэлт, үйл ажиллагааны процессыг удирдах шаардлагатай байдаг. Mewayz гэх мэт платформууд нь сард 19 доллараас эхэлдэг 207 модуль бүхий бизнесийн үйлдлийн систем бөгөөд програм хангамжийн бизнесийн үйл ажиллагааны талыг хамарсан дэд бүтцийн хэрэгслийг нөхдөг. BuildKit-ээр ажилладаг үр ашигтай угсралтын шугамыг Mewayz гэх мэт нэгдмэл платформтой хослуулснаар багууд кодын олдвороос эхлээд хэрэглэгчдэд хүргэх хүртэл бүрэн хэмжээний стекийг өгдөг.

.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime