Tee uutta panimon luojan paketinhallintaa

Tee

tee luo uusia teknologioita, jotka muuttavat koodin jakelutapaa

Max Howell, kirjoittaja suositusta paketinhallintajärjestelmästä hautua (Homebrew) macOS:stä, paljasti sen työskentelee uuden paketinhallinnan, Tea, kehittämisen parissa, joka on sijoitettu panimokehityksen jatkoksi, joka menee paketinhallintaa pidemmälle ja tarjoaa yhtenäisen paketinhallintainfrastruktuurin, joka toimii hajautettujen tietovarastojen kanssa.

Tee ei ole käsitteellisesti kuin perinteiset pakettien hallintalaitteet., ja "Haluan asentaa paketin" -paradigman sijaan se käyttää "Haluan käyttää pakettia" -lähestymistapaa.

Erityisesti Tealla ei ole paketin asennuskomentoa sellaisenaan, mutta käyttää sen sijaan ympäristön luomista sellaisten pakettien sisällön suorittamiseen, jotka eivät ole päällekkäisiä nykyisen järjestelmän kanssa. Paketit sijoitetaan erilliseen ~/.tea-hakemistoon, eikä niitä määritetä absoluuttisille poluille (ne voidaan siirtää).

Tea tarjoaa kaksi perustilaa Toiminta: Hyppää komentotulkkiin, jolla on pääsy ympäristöön, jossa on asennettuja paketteja, ja kutsu suoraan pakettiin liittyviä komentoja. Esimerkiksi suorittamalla "tea +gnu.org/wget" paketinhallinta lataa wget-apuohjelman ja kaikki tarvittavat riippuvuudet ja tarjoaa sitten shell-käyttöoikeuden ympäristössä, jossa asennettu wget-apuohjelma on saatavilla.

Toinen vaihtoehto sisältää suoran käynnistämisen: «tea +gnu.org/wget -qO- tea.xyz/white-paper | tee +charm.sh/glow glow – ", joka asentaa wget-apuohjelman ja suorittaa sen välittömästi erillisessä ympäristössä lataamalla tiedoston, joka renderöidään hehkuna. Monimutkainen ketjutus on mahdollista, esimerkiksi ladata white-paper.pdf-tiedosto ja käsitellä se glow-apuohjelmalla, voit käyttää seuraavaa konstruktia (jos wget ja glow eivät ole läsnä, ne asennetaan).

Vastaavasti, voit suorittaa skriptejä suoraan, koodinäytteet ja yksikerroksiset, lataavat automaattisesti työhön tarvittavat työkalut.

Suorita ilman esimerkkiä:

tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go

Se asentaa Go-kielityökalupaketin ja suorittaa color.go-komentosarjan argumenttina "–keltainen".

Jotta teekomentoa ei soitettaisi joka kerta, se on mahdollista yhdistää yleiseksi johtajaksi virtuaaliympäristöjen ja puuttuvien ohjelmien ohjain. Tässä tapauksessa, jos käynnissä olevaa ohjelmaa ei ole saatavilla, se asennetaan ja, jos se on asennettu aiemmin, se käynnistyy ympäristössäsi.

Nykyisessä muodossaan Teetä varten saatavilla olevat paketit on koottu kahteen kokoelmaan, pantry.core ja pantry.extra, joka sisältää metatiedot, jotka kuvaavat pakettien latauslähteitä, koontiskriptejä ja riippuvuuksia.

Kokoelma pantry.core sisältää keskeiset kirjastot ja apuohjelmat, jotka Tea-kehittäjät pidetty ajan tasalla ja testattu. pantry.extra sisältää paketteja, jotka eivät ole hyvin stabiloituja tai jotka ovat yhteisön ehdottamia. Pakettien välillä on web-käyttöliittymä.

Teen pakettien luontiprosessi on yksinkertaistettu huomattavasti ja pelkistetty universaalin package.yml-tiedoston luomiseen (esimerkki), joka ei vaadi paketin mukauttamista jokaista uutta versiota varten. Uusien versioiden löytämiseksi ja sen koodin lataamiseksi paketti voidaan linkittää GitHubiin.

Tiedosto kuvaa myös riippuvuuksia ja tarjoaa koontiskriptejä tuetuille alustoille. Asennetut riippuvuudet ovat muuttumattomia (versio on kiinteä), mikä eliminoi toistuvat tilanteet, jotka vastaavat vasemman tyynyn tapausta.

Tulevaisuudessa on tarkoitus luoda hajautettuja tietovarastojaue ei ole sidottu mihinkään erilliseen tallennustilaan, ja ne käyttävät hajautettua lohkoketjua metatiedoille ja hajautettua infrastruktuuria pakettien tallentamiseen. Ylläpitäjät varmentavat versiot suoraan, ja asianomaiset osapuolet tarkistavat ne. Kryptovaluuttatokeneita on mahdollista jakaa pakettien ylläpitoon, tukeen, jakeluun ja todentamiseen.

Lopuksi on syytä mainita, että tällä hetkellä projekti on alun perin kehitetty cross-platform (MacOS ja Linux ovat tällä hetkellä tuettuja, Windows-tuki on kehitteillä.) Projektin koodi on kirjoitettu TypeScriptillä ja se on julkaistu Apache 2.0 -lisenssillä (brew kirjoitettiin Rubylla ja toimitettiin BSD-lisenssillä).

Jos olet kiinnostunut saamaan lisätietoja siitä, voit tutustua Tean tietoihin ja käyttöohjeeseen osoitteessa seuraava linkki.


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.