477 dipuku tša go balwa
477 dipuku tša go balwa

Di-Buildpack tša Setlogo sa Leru ke Eng? Tsela e Bonolo ya go Sepela

ka Alvin Lee8m2025/03/11
Read on Terminal Reader

Nako e telele kudu; Go bala

Cloud Native Buildpacks ke tsela ye bonolo ya go aga didirišwa tša Docker. Diphuthelwana tša go aga di goga mmogo se sengwe le se sengwe seo tirišo ya gago e se hlokago go se šoma gomme di se bea ka gare ga seswantšho sa Open Container Initiative (OCI). Go swana le go ba le Dockerfile ye e nepagetšego yeo o e hlokago’— fela ga o hloke go ngwala e tee.
featured image - Di-Buildpack tša Setlogo sa Leru ke Eng? Tsela e Bonolo ya go Sepela
Alvin Lee HackerNoon profile picture

Na o kile wa lapa go fiddling ka Dockerfile? Dockerfiles le Docker diswantšho ke tsela ye botse ya go phuthela tirišo ya gago bakeng sa go šomišwa gape, go tsenywa tirišong ka ditshelo. Le ge go le bjalo, go ngwala le go hlokomela Dockerfile ga se ka mehla go lego bonolo, gomme go tšea nako yeo ka tsela ye nngwe e bego e ka šomišwa go oketša dikarolo go tirišo ya gago. Kena Diphuthelwana tša Setlogo tša Leru. Di-Buildpack di gona go goga mmogo se sengwe le se sengwe seo tirišo ya gago e se hlokago go se kitima le go se bea ka gare ga seswantšho sa Open Container Initiative (OCI) — ga go nyakege Dockerfile.


Go bahlami ka moka ka ntle moo bao ba nyakago tshepedišo ya go aga setshelo yeo e lego bonolo go e šomiša gomme e tla ba bolokela nako le go opša ke hlogo, Cloud Native Buildpacks e ka ba tharollo yeo ba e nyakago. Nago le kgahlego? Ke tla go botša tše dingwe.

Di-Buildpack tša Setlogo sa Leru ke Eng?

Ka bophara, buildpack e tšea khoutu ya tirišo gomme e e dira gore e sepedišwe ka tshepedišo ya go aga. Ka gona, Cloud Native Buildpacks e tšea khoutu ya gago ya mohlodi wa tirišo gomme ya e fetoša go ba diswantšho tša OCI tšeo di ka sepedišwago, tšeo di ka tšweletšwago gape, di phethagatša dinyakwa tša gago tša tšhireletšo ya diswantšho, go dira gore tshepedišo e šome gabotse le tatelano ya go aga setshelo. Go swana le go ba le Dockerfile ye e nepagetšego yeo o e hlokago — fela ga o hloke go ngwala e tee.


Le ge bontši bja bahlami ba ka ngwala Dockerfile, ke ba mmalwa bao e lego ditsebi tša e ka ba Docker goba mananeokgoparara. Ditirišo tše ntši kudu di na le Dockerfiles tšeo di cobbled mmogo go tšwa go dikarolwana tša khoutu tšeo di hwetšwago go ralala le wepe — gantši ke mash-up ya Copilot, Stack Overflow, le ChatGPT. Diphošo tša Dockerfile di ka lebiša go dikgopelo tše di sa šireletšegago le tšeo di sa šomego gabotse.


Diphuthelwana tša Setlogo tša Leru di tšea morwalo wo, ka go itiriša di diriša mekgwa ye mekaone ya polelo ye nngwe le ye nngwe goba tlhako. A builder can then utilize any number of buildpacks , ka go iketla a lemoga gore ke di-buildpack dife tšeo di nyakegago le go di diriša go aga tirišo. Di-buildpack tšeo moagi wa Heroku a di thekgago ga bjale ke tše:


 $ 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


Baagi ba bangwe, go swana le bao ba tšwago go Paketo goba Google Cloud , le bona ba tliša lenaneo la di-buildpack. Ka moka ga tšona, tshepedišo ya tswalano ya diphedi le tikologo ya tšona ya Cloud Native Buildpacks e a gola e bile e a butšwa, e lego seo se kgahlišago go bahlami!


Bakeng sa bao le tlwaelanego le Heroku, le šetše le thabela phihlelo ya buildpack . Ka git push heroku main , o kgonne go tsenya tirišong ka go lebanya go Heroku, go se na Dockerfile ye e nyakegago. Cloud Native Buildpacks e aga godimo ga boitemogelo bja Heroku buildpack, e tšea seo e kilego ya ba phethagatšo ye e itšego ya morekiši gomme ya e fetoša go ba tekanyetšo ya CNCF yeo e šomišegago sethaleng sefe goba sefe sa leru.


Ka boripana, Cloud Native Buildpacks e dumelela bahlami go:


  • Deploy dikgopelo gabonolo go feta le ge e le neng pele
  • ... ka mokgwa wo o theilwego godimo ga maemo ntle le go notlela
  • ... ka moka mola o diriša mekgwa ye mekaone ya setshelo
  • ... le ntle le go dira gore bahlami ba tinker ka Dockerfiles.

Dikgetse tša Tšhomišo

Go kwagala e le mo gogolo, akere? Ka mehola ye ka moka, a re lebelele maemo a mangwe a itšego moo o ka holegago ka go šomiša Cloud Native Buildpacks.

Lefelo lefe goba lefe moo ka tlwaelo o bego o tla hloka Dockerfile ke sebaka sa go šomiša buildpack. Mehlala e akaretša:


  • Tirišo ya wepe ya Node.js
  • Tirelo ya microservice ya Python
  • Tirišo ya go se swane yeo e šomišago maleme a mantši goba ditlhako
  • Go aga dikgopelo tša go tsenywa tirišong go diforamo tša leru tša go swana le AWS, Azure, le Heroku


Selo se tee seo o swanetšego go se ela hloko ke se: Le ge di-buildpack e le tša declarative , Dockerfiles ke tša tshepedišo . Ka buildpack, o no tsebagatša gore o nyaka tirišo ye e filwego yeo e agilwego ka moagi yo a filwego goba buildpack. Ka go fapana, Dockerfile e nyaka gore o hlaloše ditaelo le tatelano yeo ditaelo tšeo di sepedišwago ka yona go aga tirišo ya gago. Ka ge go le bjalo, di-buildpack ga bjale ga di neelane ka maemo a go beakanywa ao a hwetšagalago ka gare ga Dockerfile, ka fao e ka no se fihlelele dinyakwa tša melato ye mengwe ya tšhomišo ye e tšwetšego pele.


Seo se boletšwe, ga go na go notlela ga morekiši ka Cloud Native Buildpacks. Ba fo aga seswantšho sa OCI. Hloka customization e ntši le dikgetho go feta tšeo di hwetšagalago ka gare ga buildpack? E no tšea sebaka sa moagi ka gare ga phaephe ya gago ya go aga ka Dockerfile ya gago le go aga seswantšho sa OCI sa maemo, gomme o lokile go ya.

Tsela e Bonolo ya go Sepela

A re direng walkthrough ya ka pela ya ka moo o ka šomišago Cloud Native Buildpacks.


Go thoma ka di-buildpack bjalo ka mogaši wa tirišo, kgato ya gago ya mathomo e swanetše go ba go tsenya sedirišwa sa Pack CLI . Sedirišwa se se go dumelela go aga tirišo ka di-buildpack. Latela ditaelo tša go hloma tša tshepedišo ya gago ya go šoma.


Go tlaleletša, ge o se na yona e šetše e le yona, o tla hloka daemon ya Docker gore moagi a age tirišo ya gago, le gore o sepetše seswantšho sa gago. Ka didirišwa tše tše pedi di tsentšwe, o ikemišeditše go thoma.

Aga App ya Mohlala

Ka phihlelelo go sedirišwa sa pack , o ikemišeditše go se leka ka go aga tirišo ya mohlala. Ke tla be ke sepetša se ka gare ga tirišo ya Next.js. Hloka tirišo ya mohlala go leka buildpack godimo ga? Mona ke tšhupetšo ye e tletšego ya dikgopelo tša mohlala tša Next.js . O ka leka gape tirišo efe goba efe yeo o nago le yona ka seatleng.


Ge o šetše o na le tirišo ya gago e lokile, thoma ka go bona gore ke moagi ofe wo sedirišwa sa pakete se šišinyago. Ka gare ga khetla ya gago, sepelasepela go tšhupetšo ya gago ya tirišo gomme o sepele taelo ye:


 $ pack builder suggest


Ka tlhomelo ya ka ya Ubuntu, bakeng sa tirišo ya ka ya Next.js, sedirišwa sa pack se šišinya baagi ba ba latelago:


A re ke re leka buildpack ya Heroku yeo e šišintšwego ( heroku/builder:24 ). Go šomiša ye, sepetša taelo ye e latelago:


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


Nako ya go aga e tla fapana go ya ka bogolo bja tirišo ya gago; go nna, go aga tirišo go tšere metsotswana e 30. Ka seo, seswantšho sa-ka se be se loketše go sepela. Re ka matha seswantšho ka tše di latelago:


 $ docker run -p 3000:3000 my-app


Sephetho se bonala ka tsela ye:



Gomme ke seo! Re atlegile go aga seswantšho sa OCI sa tirišo ya rena ya Next.js — ntle le go šomiša Dockerfile.

Dipeakanyo tša Tlaleletšo

Go thwe’ng ge e ba o swanetše go beakanya selo se itšego ka gare ga buildpack? Bakeng sa se, o be o tla šupa (di)buildpack tšeo di kgethilwego ke moagi wa gago. Ka mohlala, bakeng sa tirišo ya ka ya Next.js, ke kgona go bona ka gare ga dilog gore moagi o kgethile di-buildpack tše pedi: nodejs-engine le nodejs-yarn .



A re re ke nyaka go laetša phetolelo ya tlhale yeo e šomišwago ke buildpack. Pele, ke be ke tla ya go nodejs-yarn buildpack Readme , moo ke bonago gore nka laetša phetolelo ya tlhale ka faeleng ya ka package.json ka senotlelo sa packageManager . Ke be ke tla fetoša faele ya ka gore e bonagale ka tsela ye:


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


Go tloga moo, sohle seo ke bego ke tla swanelwa ke go se dira ke go kitima pack build my-app --builder heroku/builder:24 gape.

Mafetšo

Cloud Native Buildpacks ke tsela ye mpsha ye e kgahlišago ya go aga diswantšho tša setshelo bakeng sa dikgopelo tša rena. Ka go tloša tlhokego ya Dockerfile, ba dira gore go be ka lebelo go feta le ge e le neng pele go hwetša tirišo ya rena e phuthetšwe le go tsenywa tirišong. Plus, e le ba haha maemo a setshelo litšoantšo, ha ho na morekisi notlela-ka.


Cloud Native Buildpacks di ka ponelopele ka diforamo tše ntši, seo se ra gore sete ya tšobotsi e bobebe eupša e gola ka lebelo. Heroku, e leng e bulehileng-sourced lona Cloud Native Buildpacks , e tlisa bona ho eona e latelang-moloko sethaleng , le eena o. Ke lebeletše pele go bona kamoo Cloud Native Buildpacks e kgontšhago go tsenywa tirišong mo go šireletšegilego, ka lebelo ga tirišo go ralala le setšhaba sa sefala sa leru.

L O A D I N G
. . . comments & more!

About Author

Alvin Lee HackerNoon profile picture
Alvin Lee@alvinslee
Full-stack. Remote-work. Based in Phoenix, AZ. Specializing in APIs, service integrations, DevOps, and prototypes.

HANG TAGS YA GO FEGA

ARTICLE YE E HLAHILWE KA...

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks