Sziasztok!
Szeretnék összehozni egy olyan megoldást, aminek az a lényege, hogy egy repository -ban van tárolva egy nagyobb fejlesztési projekt forráskódja, ellátva verziókövetéssel (git/svn/bzr : még nem dőlt el) és ehhez kellene hozzáférjen több ember, de különböző jogosultságokkal. Kommittelni csak 1 ember tudna forráskódot az egész projektben, de nem mindenkinek lenne mindenre olvasási joga sem.
Ilyesmit képzeltem el:
* /documents -> mindenkinek van olvasási joga, de csak 1 meghatározott ember írhatja
* /functions -> mindenkinek van olvasási joga, de csak 1 meghatározott ember írhatja
* /database -> senki sem olvashatja, kivéve meghatározott emberek (akár több is) és csak 1 meghatározott ember írhatja
Tehát könyvtáranként lenne szabályozva, hogy ki olvashatja a tartalmat és ki nem. S ahogy említettem, írási joga csak 1 főnek lenne az egészre, tehát ő tudna kommittelni változást a forrásfán.
Merre kellene elindulnom? Arra gondoltam, hogy miután verziókezelés alá helyeztem a teljes forráskódot, azután samba segítségével létrehozok több megosztást is, csoportosítva őket jogosultsági szintek szerint. Vagy ez rossz elképzelés? Van egyszerűbb/logikusabb módja a dolognak?
Köszönöm előre is az ötleteket, segítséget!
- 1113 megtekintés
Hozzászólások
Szia. Ezt az igényedet a verziókezelő rendszer adta hozzáférés-szabályozással meg tudod valósítani. SVN esetén tuti, ezt használom is, de gondolom a többi is tudja ugyanezt.
Pl. SVN esetén:
[/path/to/resource]
* =
user1 = r
user2 = rw
Természetesen lehet group-okat is definiálni. Ha érdekel az svn red bookban részletesen megtalálod a szükséges infót: http://svnbook.red-bean.com
Üdv,
gd
- A hozzászóláshoz be kell jelentkezni
Gittel meg lehet oldani, csak másként kell gondolkodni.
Van mindenkinek a gépén egy saját repó, esetleg a szerveren egy közös backup/homokozó. Amikor a dokumentumokért felelős embernek frissíteni kell, akkor pull-ol a szerveren lévő közös repóból (vagy valahonnan máshonnan), megnézi a commitokat, amik érintik a documents/ könyvtárat, és amit jónak lát, azt merge-öli. Ugyanez a functions-ra is. A database-t is hasonlóan lehetne megoldani, annyi kitétellel, hogy az adott ember database repójából csak meghatározott emberek pull-olhatnak. Szervezheted úgy is, hogy van egy superproject, amiben nincs kód, és annak submodule-jai a documents, functions, database. Ez azért is szerencsés, mert a git nem fájlokkal és könyvtárakkal dolgozik, hanem változtatásokkal (emiatt pl nem lehet egy git repó részét klónozni).
A push/pull mehet git protokolon keresztül is, de eleinte az egyszerűség miatt érdemes ssh-t használni.
- A hozzászóláshoz be kell jelentkezni
Köszönöm mindkét javaslatot, jól hangzanak! Mindenképp utánuk olvasok. :)
- A hozzászóláshoz be kell jelentkezni