Fejlesztői szerver kialakítása

Fórumok

Sziasztok!

Fejlesztői szerver kialakításával kapcsolatos tapasztalataitokra lennék kíváncsi.
Hosszú idő után végre sikerült egy szabad gépet kapnom, amelyen lehetőségem van arra,
hogy kialakítsak egy olyan fejlesztői környezetet, amely megkönnyíti és gyorsabbá teszi a fejlesztéseket.A szerveren Fedora FC6 fut, így ehhez kellenek majd a csomagok és az alkalmazások.
Elsődlegesen a PHP fejlesztést céloztam meg, de később más projektek is helyet kaphatnának.

A tervezett szolgáltatások:
- központi, verziókezelést biztosító repository (Subversion-re gondoltam),
- project kezelő, hibakövető rendszer, a cél hogy kezeljen több projectet (Trac),
- LDAP alapú authentikáció,

Az adott szolgáltatások (ahol lehet) webes felületen keresztüli elérését tervezem, és
természetesen előnynek számít a minél nagyobb szintű integráció.
Ami szintén fontos szempont, hogy mindezen szolgáltatásokat free/open-source és társai szoftverekkel kell megoldani.

Azok válaszát várnám elsősorban, akik használnak/tak, és/vagy üzemeltetnek ilyen rendszereket.

A válaszokat előre is köszönöm!

Üdvözlettel: Webappz

Hozzászólások

Jó a terv, az alapokat leírtad (verziókövetés). Célszerű valamilyen wikit is feltenni és esetleg valamilyen azonnali üzenetküldő szervert. Mentésről is gondoskodj és máshol tárold a mentéseket, pl: DVD-re, ezt néha ellenőrizd vissza.
A rendszered hasonlítson lehetőleg az éles rendszerre.

Nálunk van fejlesztői, teszt, oktatói és éles rendszer. A teszt azért kell, mert a fejlesztői a folyamatos változások miatt nem tükrözi azt ami az élesre kimegy. A teszt, okt. és éles már verzióváltásokkal kezelt (verziószám, változás lista, stb.)

Célszerű konfigurációs menedzsmentet tervezni és üzemeltetni.

Mi JAVA alkalmazásokat fejlesztünk.
Verzió követés: CVS (nem csak a forráskód de a specifikációk is itt vannak - külön repositoryban)
Issue tracking: SCARAB (tigris.org)
Build: ANT (javas cucc a kód lefordításához, csomagolásához)
Ezek mind OSS alkalmazások.

Köszönöm a válaszod. A tigris.org-ról már ismertem néhány projektet (ArgoUML,Subversion), de a SCARAB-ot nem. Nekem a Trac tetszik, mert van benne Wiki, a Subversion-höz felület és egyéb riport lehetőség, másfelől az egyik Fedora repo-ban megtalálható a csomag.

------------------
http://webappz.hu

Ki milyen programot tartana még fontosnak?
Néhány program, ami még hasznos lehet:
- phpMyAdmin
- phpDocumentor
- eAccelerator

Amire szükség lehet:
- PHP Debugger (DBG vagy XDebug)
- Benchmark (az alap az ab)
- Load,Performance,Site Security Test Tools

Ha vannak ötletek és főleg tapasztalatok, kérlek osszátok meg!

Előre is köszönöm!

Üdv:Webappz
-----------------
http://webappz.hu

Ajánlom még, hogy tegyél ra valamilyen virtális OS lehtőséget a tesztelési lehetőségek miatt. Akár VmWare.

A Trac-nak létezik magyarítása?
vagy ha nem, akkor esetleg létezik egyéb jó issue, bugtracker software ami beszél magyarul?

nálunk is van egy dedikált PHP/MySQL fejlesztőszerver, kb a következőket tudja

- LDAP
- GoSA LDAP adminfelület (webes)
- apache néhány okos vhost-tal (*.dev. - projektek tesztverziói, svn-ből commit után automatikusan exportálódnak)
- kétféle PHP (4,5) mindkettő xdebug támogatással, könyvtáranként állítható hogy melyik php4 és melyik php5
- mysql,postgresql
- suPHP
- twiki
- mantis bug tracking
- céges -fejlesztői- blog
- levelezőlisták
- svn
- samba (homedir / tesztoldalak)
- vpn

az apache htaccess / samba / twiki / ssh mind LDAP-ból dolgozik. ezenkívül van még néhány menedzsment-szkript projektindításhoz (adatbázis létrehozása, svn-ből megfelelő modulok kiexportálása), változáskövetés, patch-menedzsmenthez és projekt-élesítéshez is készül egy felület.

természetesen a projektekhez való hozzáférés szabályozható, lehetőség van külsős embereknek csak adott projekt twikijére hozzáférést adni.

ezen kívül persze grsec, acl, quota

hege

Megnéztem a GoSA-t és nagyon tetszik. Valami hasonlót kerestem már régóta és tudtam, hogy jobban is kihasználhatnánk az LDAP szerverünket, szerencsére te segítettél ebben és nagyon köszönöm. Gyorsan átfutottam a demot. Mi eddig csak szervezeti egységek alapján soroltuk be a felhasználókat az LDAP-ban és a Helpdesken kívül csak a proxy authentikációban használtuk fel az azonosítójukat és jelszavukat. Már egy ideje terveztem, hogy munkakör/feladatkör vagy egyéb csoportokat is létrehoznánk az LDAP-ban, amit az egyes webes alkalmazásoknál majd fel lehetne használni.
A GoSA-val kapcsolatban ami még számomra nagyon pozitív, hogy ők is a Trac-et használják.
A PHP-s fejlesztéseknél használtok ismertebb CMS-t vagy framework-öt vagy egyedi fejlesztést használtok?
Te a fejlesztésben vagy az üzemeltetésben veszel részt?
Előre is köszönöm!

Üdv: Webappz

------------------
http://webappz.hu

PHP fejlesztésben kb 3 éve veszek részt. teljesen saját építésű rendszerből indultunk, aztán idővel kikristályosott egy egyedi keretrendszer. az utóbbi 1 évben próbálunk f/oss php projekteket beemelni. pear csomagok, wysiwyg editor, stb. úgy áll a helyzet hogy a jövőben még inkább mozdulni fogunk a fejlettebb kész keretrendszerek felé. sajnos (szerencsére?) a cégen belül futó projektek elég eltérő igényeket támasztanak (sima tartalomszolgáltatást nyújtó oldalaktól az e-commerce-en keresztül 1-2 komoly rendszert is építettünk az évek során), és ezeket nem is nagyon lehet egy konkrét rendszerrel kiszolgálni. jelenleg projektvezető-tervező-tanácsadó munkám van nagyrészt

a fejlesztőszervert tavaly nyáron raktuk össze, azóta megelégedésünkre szolgál (nagyrészt én adminolom / húzom be az új ficsöröket, de van még egy srác aki hozzá tud nyúlni ha kell).

hege

Én üzemeltetéssel foglalkozom és ez mellett foglalkozom a cégnél PHP-vel is. Mostanáig kisebb és főleg különálló fejlesztések futottak párhuzamosan, amire eddig többen voltunk , de pár hete megkaptam egyedül az egész webes adminisztrációt.
Mivel így nehezebb a karbantartásuk, ezért gondoltam, hogy egy közös rendszerbe integrálom őket.
Korábban nézegettem különböző CMS-eket, framework-öket és végül a Drupal mellett döntöttem.
A Drupal 4.7 alatt az ldap_integration modul segítségével sikerült beállítani, hogy nem kell a usereket és a csoportokat létrehozni a drupalban, hanem egyszerűen bejelentkezik a user és automatikusan elkészül az accountja az LDAP-os account alapján.
A Subversion-höz használtok valamilyen webes megjelenítőt?
Milyen protokolon keresztül csatlakoztok az svn repo-hoz?
Milyen OS-t használtok?

Webappz

-----------------
http://webappz.hu

Subversion apachecsal megy (mod_dav), van egy https-es vhosztja. Svnview jellegű cucc nincs. Userek home-jában mennek a fejlesztések (távolról, sshfs-sel, vagy sambával vpn-en keresztül), és ha stabil akkor commitolnak. A repositoryból a commit után egy *.dev vhost alá kerül kiexportálásra a kód. Így a megrendelő mindig stabil változatot lát a projektből.

Az OS amúgy egy hardened gentoo. A HW sajnos eléggé szedett-vedett, de most már ~150-200 napja gond nélkül teljesít.

Ami még érdekes téma:
- grsec-ben mindenféle korlátozások (kliens/server socket tiltás és társai)
- raid + smartmontools
- logwatch
- boxbackup ami tud folyamatos inkrementális konzisztens backupot készíteni, és teljesen titkosított (a visszafejtőkulcs nem is kell hogy a szerveren legyen)

hege

persze: az svn repositoryban van egy hooks könyvtár, azon belül kell egy post-commit nevű szkriptet létrehozni (talán vannak benne .tmpl templatek), ezt meghívja a subversion felparaméterezve a repository nevével meg az aktuális revizioval. innen már csak egy svn exportot kell meghívni (persze megfelelő userrel -sudo és társai-) és mehet is az adat. a vhost pedig egy virtualdocumentroot-tal van felkonfigurálva, tehát nem kell külön beállítgatni projekt1.dev projekt2.dev virtuálhosztokat, hanem automatikusan feloldja könyvtárnévre az apache.

üdv
hege

Nagyon szépen köszönöm!
rá is nézek mindjárt...

Nekünk is van egy kis fejlesztői szerverünk, de még elég kevéset tud nyújtani.
egy tényleg szedett-vedett (ejtsd: kiselejtezett) cuccokból épített kis gép, de elég jól muzsikál eddig.

mi kizárólag webfejlesztés mellett használjuk (a cég többi divíziója nem hajlandó ezzel foglalkozni, ezért nincs hardverre keret)

ez a topik nagyon jó ötleteket adott, Kösz mindenkinek!