Quantcast
Channel: Mogorva Mormota » launchpad
Viewing all articles
Browse latest Browse all 4

Launchpad Build Farm

$
0
0

Miközben a Farmville óriási népszerűségnek örvend a Facebookon, kevesen tudják, hogy a Launchpadon is működik egy farm. Itt azonban a friss kukorica és aranylóan sárga búzakalászok helyett csomagok sarjadnak: ez a Launchpad Build Farm. A Launchpad Build Farm az a hely, ahol a forrásokból kész csomagok lesznek. A Build Farm a Soyuz, vagyis a „Launchpad csomagkezelő” része. A Soyuz három fő részből áll: a build rendszer, a csomagkezelő és az archívumok közzétételéért felelős rész. A „Soyuz” szó az űrkutatásból lehet ismerős: a Szojuz űrhajók a 60-as évek végétől meghatározó szerepet töltöttek be a szovjet űrkutatási programban. Mark Shuttleworth egy Szojuz TM34 fedélzetén járt a világűrben még 2002-ben.


A build farm működési mechanizmusa egyébként kifejezetten érdekesen és elegánsan van megoldva: amint az egy, a Launchpad blogon megjelent bejegyzésből kiderül, a csomagok fordítását virtuális gépek végzik. Egy-egy virtuális gép egyetlen fordítási feladatra jön létre, majd amikor végzett, egyszerűen eldobják. Így minden egyes buildelés új gépen történik. Mi ennek az oka? A biztonság: a build scriptekben könnyen el lehet rejteni rosszindulatú kódot, így ha nem dobnák el a gépet fordítás után, az akár a következő csomagokat is érinthetné. Mivel a PPA tárolók miatt gyakorlatilag bárki bármilyen kódot feltölthet a Launchpadra, ezért erre érdemes külön figyelmet fordítani. Már csak azért is, mert nemrégiben lehetővé vált a Launchpad Build Farmon a csomagok fordítása „receptekből”: ennek lényege, hogy az upstream kódot közvetlenül húzza le fordításnál a Launchpad egy Bazaar branchből, és így készíti el a csomagot.

A Launchpad Build Farm elsősorban persze a Launchpadot használó fejlesztők számára fontos, hiszen ők dolgoznak vele aktívan. Ugyanakkor azok számára is érdekes lehet, akik nem foglalkoznak ugyan aktívan fejlesztéssel, de nem szeretnének semmiről sem lemaradni. A Launchpadról ugyanis rengeteg információhoz hozzá lehet jutni. Az egyik legérdekesebb talán maga a Build Farm oldala, ahol valós időben követhetjük, hogy az egyes virtuális gépek éppen milyen feladaton dolgoznak: ezt végigpörgetve azonnal láthatjuk, hogy milyen csomagok érkezhetnek rövidesen mondjuk a fejlesztés alatt álló Ubuntu kiadásba, vagy valamelyik PPA tárolóba. Innen elérhetjük közvetlenül a fordítás logját, ha tudni szeretnénk, hogy éppen hol tart a folyamat. Ha egy buildelés sikertelen, akkor a logból láthatjuk, hogy mi volt a probléma: így például nemrégiben sikertelen volt a Unity 0.2.30-0ubuntu1 csomag fordítása, a logból pedig az is kiderül, hogy ennek mi volt az oka: jelen esetben például az, hogy nem találta a libutouch-grail-dev csomagot.

A build log később is elérhető a Launchpadon. Ez egy olyan csomag esetében, ami a hivatalos tárolókban található, a

  • https://launchpad.net/ubuntu/ubuntu kiadás/+source/csomag neve

oldalon keresztül, a Releases in Ubuntu pont alatt a csomag nevére, majd a megnyíló oldalon a Builds sorban a megfelelő architektúra melletti kis logóra kattintva érhető el. A PPA tárolókban lévő csomagoknál a

  • https://launchpad.net/~PPA neve/+archive/ppa/+builds?build_state=all

oldalon, egyszerűen a See the log linkre kattintva találhatjuk a logot. Ez akkor lehet hasznos, ha szeretnénk tudni, hogy egy általunk nagyon várt csomag vajon miért nem tudott lefordulni.

A fentiek is jól mutatják, hogy mennyire nyílt valójában az Ubuntu fejlesztése: nem csak egyszerűen a forráskód érhető el, de a Launchpadon keresztül bárki könnyedén hozzáférhet akár a build logokhoz is, a webes felületen kattintgatva. Ezek persze a felhasználók tömegei számára nem feltétlen érdekesek, azonban a fejlesztőkön túl nagyon hasznos információforrásul szolgálhatnak azok számára is, akik rendszeresen írnak cikkeket, blogolnak az Ubunturól, vagy akár csak egyszerűen szeretnék tudni, hogy mi történik a színfalak mögött.


Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles





Latest Images