477 lekti
477 lekti

Ki sa ki Cloud Native Buildpacks? Yon patrav senp

pa Alvin Lee8m2025/03/11
Read on Terminal Reader

Twò lontan; Pou li

Cloud Native Buildpacks se yon fason fasil pou konstwi aplikasyon pou Docker. Buildpacks rale ansanm tout bagay aplikasyon ou bezwen pou kouri epi mete l nan yon imaj Open Container Initiative (OCI). Se tankou si w gen Dockerfile egzak ou bezwen an’— sèlman ou pa bezwen ekri youn.
featured image - Ki sa ki Cloud Native Buildpacks? Yon patrav senp
Alvin Lee HackerNoon profile picture

Èske ou janm fatige jwe ak yon Dockerfile? Dockerfiles ak imaj Docker yo se yon bon fason pou pake aplikasyon w lan pou deplwaman ki kapab itilize ankò nan kontenè. Sepandan, ekri ak kenbe yon Dockerfile se pa toujou entwisyon, epi li pran tan ki ta ka otreman itilize pou ajoute karakteristik nan app ou a. Antre nan Cloud Native Buildpacks. Buildpacks egziste pou rale ansanm tout bagay aplikasyon ou bezwen pou kouri epi mete l nan yon imaj Open Container Initiative (OCI) - pa gen okenn Dockerfile obligatwa.


Pou tout devlopè yo deyò ki bezwen yon pwosesis konstriksyon veso ki fasil pou itilize epi ki pral sove yo tan ak tèt fè mal, Cloud Native Buildpacks ta ka solisyon yo ap chèche. Enterese? Mwen pral di w plis.

Ki sa ki Cloud Native Buildpacks?

An jeneral, yon buildpack pran kòd aplikasyon an epi fè li ka kouri atravè yon pwosesis bati. Kidonk, Cloud Native Buildpacks pran kòd sous aplikasyon w lan epi fè l tounen imaj OCI ki ka kouri, ki ka repwodiktif, pou aplike egzijans ou genyen pou sekirite imaj, optimize pèfòmans, ak lòd konstriksyon veso. Se tankou ou gen Dockerfile egzak ou bezwen an - sèlman ou pa bezwen ekri youn.


Pandan ke pifò devlopè yo ka ekri yon Dockerfile, kèk se ekspè nan swa Docker oswa enfrastrikti. Twòp aplikasyon yo gen Dockerfiles ki pave ansanm nan fragments kòd yo jwenn sou entènèt la - souvan yon mash-up nan Copilot, Stack Overflow, ak ChatGPT. Erè Dockerfile ka mennen nan aplikasyon ansekirite ak mal fè.


Cloud Native Buildpacks pran chay sa a, otomatikman aplike meyè pratik pou chak lang oswa kad. Lè sa a, yon mason ka itilize nenpòt kantite buildpacks , otomatikman detekte ki buildpacks ki nesesè epi aplike yo pou konstwi yon aplikasyon. Isit la yo se buildpack ke mason Heroku a sipòte kounye a:


 $ pack builder inspect heroku/builder:24 Inspecting builder: heroku/builder:24 REMOTE: Description: Ubuntu 24.04 AMD64+ARM64 base image with buildpacks for .NET, Go, Java, Node.js, PHP, Python, Ruby & Scala. ... Buildpacks: ID NAME VERSION heroku/deb-packages Heroku .deb Packages 0.0.3 heroku/dotnet Heroku .NET 0.1.10 heroku/go Heroku Go 0.5.2 heroku/gradle Heroku Gradle 6.0.4 heroku/java Heroku Java 6.0.4 heroku/jvm Heroku OpenJDK 6.0.4 heroku/maven Heroku Maven 6.0.4 heroku/nodejs Heroku Node.js 3.4.5 heroku/nodejs-corepack Heroku Node.js Corepack 3.4.5 heroku/nodejs-engine Heroku Node.js Engine 3.4.5 heroku/nodejs-npm-engine Heroku Node.js npm Engine 3.4.5 heroku/nodejs-npm-install Heroku Node.js npm Install 3.4.5 heroku/nodejs-pnpm-engine Heroku Node.js pnpm Engine 3.4.5 heroku/nodejs-pnpm-install Heroku Node.js pnpm install 3.4.5 heroku/nodejs-yarn Heroku Node.js Yarn 3.4.5 heroku/php Heroku PHP 0.2.0 heroku/procfile Heroku Procfile 4.0.0 heroku/python Heroku Python 0.23.0 heroku/ruby Heroku Ruby 5.0.1 heroku/sbt Heroku sbt 6.0.4 heroku/scala Heroku Scala 6.0.4


Lòt bòs mason, tankou sa yo ki soti nan Paketo oswa Google Cloud , tou pote yon etalaj de buildpacks. An jeneral, ekosistèm Cloud Native Buildpacks la ap grandi ak matirite, sa ki enteresan pou devlopè yo!


Pou moun nan nou ki abitye ak Heroku, ou te deja jwi eksperyans nan buildpack . Avèk git push heroku main , ou te kapab deplwaye dirèkteman nan Heroku, san yo pa bezwen Dockerfile. Cloud Native Buildpacks bati sou eksperyans buildpack Heroku a, pran sa ki te yon fwa yon aplikasyon espesifik machann epi fè l tounen yon estanda CNCF ki ka itilize sou nenpòt platfòm nwaj.


Nan ti bout tan, Cloud Native Buildpacks pèmèt devlopè yo:


  • Deplwaye aplikasyon yo pi fasil pase tout tan
  • … nan yon mòd ki baze sou estanda san fèmen nan
  • … tout pandan y ap aplike pi bon pratik veso yo
  • … epi san yo pa fè devlopè yo jwe ak Dockerfiles.

Sèvi ak ka yo

Son gwo, dwa? Avèk tout benefis sa yo, ann gade kèk ka espesifik kote ou ta ka benefisye lè w sèvi ak Cloud Native Buildpacks.

Nenpòt kote ou ta nòmalman bezwen yon Dockerfile se yon opòtinite pou itilize yon buildpack. Egzanp yo enkli:


  • Yon aplikasyon entènèt Node.js
  • Yon mikwosèvis Python
  • Yon aplikasyon etewojèn ki sèvi ak plizyè lang oswa kad
  • Bati aplikasyon pou deplwaman sou platfòm nwaj tankou AWS, Azure, ak Heroku


Yon bagay ou dwe sonje se sa a: Pandan ke buildpacks yo deklaratif , Dockerfiles yo se pwosedi . Avèk yon buildpack, ou tou senpleman deklare ke ou vle yon aplikasyon bay bati ak yon builder oswa buildpack bay. Kontrèman, yon Dockerfile mande pou ou defini kòmandman yo ak lòd kòmandman sa yo ap kouri pou konstwi aplikasyon w lan. Kòm sa yo, buildpacks pa ofri kounye a nivo nan konfigirasyon ki disponib nan yon Dockerfile, kidonk li ta ka pa satisfè bezwen yo nan kèk ka itilizasyon ki pi avanse.


Sa te di, pa gen okenn lock-in machann ak Cloud Native Buildpacks. Yo tou senpleman bati yon imaj OCI. Bezwen plis personnalisation ak opsyon pase ki disponib nan buildpack la? Senpleman ranplase mason an nan tiyo konstriksyon ou a ak Dockerfile ou ak yon estanda OCI imaj bati, epi ou bon pou ale.

Yon patrav senp

Ann fè yon ti mache vit sou kijan pou itilize Cloud Native Buildpacks.


Pou kòmanse ak buildpacks kòm yon devlopè app, premye etap ou ta dwe enstale zouti Pack CLI la. Zouti sa a pèmèt ou bati yon aplikasyon ak buildpacks. Swiv enstriksyon yo enstalasyon pou sistèm opere ou a.


Anplis de sa, si ou pa genyen li deja, ou pral bezwen yon demon Docker pou mason an bati app ou a, epi pou ou pou w kouri imaj ou a. Avèk de zouti sa yo enstale, ou pare pou kòmanse.

Bati yon echantiyon aplikasyon

Avèk aksè nan zouti pack a, w ap pare pou eseye li lè w bati yon aplikasyon echantiyon. Mwen pral kouri sa a andedan yon aplikasyon Next.js. Ou bezwen yon echantiyon aplikasyon pou teste pak la? Isit la se yon anyè konplè sou aplikasyon Next.js echantiyon . Ou ka eseye tou nenpòt aplikasyon ou genyen sou men.


Yon fwa ou gen aplikasyon w lan pare, kòmanse pa wè ki mason zouti pake a sijere. Nan kokiy ou a, navige nan anyè app ou a epi kouri lòd sa a:


 $ pack builder suggest


Sou enstalasyon Ubuntu mwen an, pou aplikasyon Next.js mwen an, zouti pack a sijere bòs mason sa yo:


Se pou nou eseye sijere Heroku buildpack la ( heroku/builder:24 ). Pou itilize yon sèl sa a, kouri lòd sa a:


 $ pack build my-app --builder heroku/builder:24


Tan konstriksyon ap varye selon gwosè aplikasyon w lan; pou mwen, bati app a te pran 30 segonn. Avèk sa, imaj mwen an te pare pou ale. Nou ka kouri imaj la ak bagay sa yo:


 $ docker run -p 3000:3000 my-app


Rezilta a sanble tankou sa a:



Epi se li! Nou te konstwi avèk siksè yon imaj OCI nan aplikasyon Next.js nou an - san nou pa itilize yon Dockerfile.

Konfigirasyon adisyonèl

E si ou bezwen konfigirasyon yon bagay andedan buildpack la? Pou sa, ou ta fè referans a buildpack (yo) ki te chwazi pa mason ou a. Pou egzanp, pou aplikasyon Next.js mwen an, mwen ka wè nan mòso bwa yo ke mason an te chwazi de buildpacks: nodejs-engine ak nodejs-yarn .



Ann di ke mwen vle presize vèsyon an fil itilize pa buildpack la. Premyèman, mwen ta ale nan Readme a nodejs-yarn buildpack , kote mwen wè ke mwen ka presize vèsyon an fil nan fichye package.json mwen an ak yon kle packageManager . Mwen ta modifye dosye mwen an gade tankou sa a:


 { "packageManager": "[email protected]" }


Soti nan la, tout sa mwen ta bezwen fè se kouri pack build my-app --builder heroku/builder:24 ankò.

Konklizyon

Cloud Native Buildpacks se yon nouvo fason enteresan pou konstwi imaj veso pou aplikasyon nou yo. Lè yo retire nesesite pou yon Dockerfile, yo fè li pi vit pase tout tan pou jwenn aplikasyon nou an pake ak deplwaye. Anplis de sa, kòm yo bati imaj veso estanda, pa gen okenn machann fèmen-nan.


Cloud Native Buildpacks yo nan preview sou anpil tribin, ki vle di ke seri a karakteristik se lejè men ap grandi rapid. Heroku, ki te louvri-sous li yo Cloud Native Buildpacks , ap pote yo nan platfòm pwochen jenerasyon li yo, tou. Mwen ap tann pou wè ki jan Cloud Native Buildpacks pèmèt deplwaman aplikasyon an sekirite epi rapid atravè kominote platfòm nwaj la.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks