Egy project fejlesztéséhez szükség van 3-4 fejlesztői tool telepítésére. Ha egy új projekt kezdődik, ezekből a toolokból más verziók kellenek. Időnként a régi projekteket is módosítani kell, a régi toolchain használatával. Tehát egy-egy projekt fejlesztői környezetét elszeparáltan kellene tartani. Erre mit javasolnátok? Én első körben virtuális gépet gondoltam, saját OS, ide feltelepítve az adott toolchain/projekt. Egy projekten való módosításhoz elindítom a hozzá tartozó VM-et. Így nyilván (?) megoldható, de hátha van egyszerűbb/hatékonyabb megoldás. A containeres megoldás olvasmányaim alapján erőforrás takarékosabb lehet, de a legtöbb cikkben a use case az, hogy egy vason sok VM/container fut párhuzamosan. Itt nem erre van szükség, egyszerre csak egy környezetet használnék.
Nem ismerem ezeket a technológiákat mélyebben, ezért kérem az itteni okosok tanácsát.
A host oprendszer Windows 10, a toolok Windows only-k.
- 1494 megtekintés
Hozzászólások
Én virtuális gépeznék, mert azok önállóan elindíthatóak bármikor "bármin". (De lehet, hogy csak az mondatja velem, hogy sose konténereztem még.)
Ha sok évre meg kell őrizni a fejlesztői környezetet, akkor arra vigyázz, hogy kizárólag offline is működőképes dolgokat használj!
- A hozzászóláshoz be kell jelentkezni
Engem mint fejlesztőt a hideg ráz ki attól, hogy VM-ben meg hasonlókban fejlesszek.
A fejlesztő állítson fel egy külön projektet/workspace-t minden egyes ilyen régi projektre: mindegyikben meg lehet mondani, hogy milyen Maven/Ant/Gradle/JDK legyen... nyilván van az a bonyolultság/tool-set aminél ez csak nehezen vagy nem megoldható - de mindenféle adatbáziskezelők is jól elfutnak egymás mellett. Számomra a VM-ben fejlesztés nagyon-nagyon az utolsó lehetőség lenne.
Ha nagyon összevesznének ezek a toolok egy gépen, akkor vennék 3 ugyanolyan fejlesztői gépet és mindegyiken 1-1 projektet fejlesztek csak és kész. :)
- A hozzászóláshoz be kell jelentkezni
+1
Hamarabb lenne egy fejlesztői-szerverem, (ha nem akarnék lokálban fejleszteni), mint VM.
- A hozzászóláshoz be kell jelentkezni
+1, én valami olyasmit csinálnék, hogy szerveren futtatnám a virtuális gépeket, amire remote fel lehet jelentkezni.
- A hozzászóláshoz be kell jelentkezni
En nem windows-on fejlesztek de nekem container-be fut minden. Itt van pl egy Clion, PlatformIO paros. Mas eszkozok is hasonlo keppen vannak kialakitva nalam.
- A hozzászóláshoz be kell jelentkezni
Rakj össze Cloudformation-el Stack-et AWS-ben, vagy Azure-ban deploy-t Resource Manager-el (mindkettő json, Azure-höz a Visual Studio ad plugint, amivel össze tudod kattintani a json tartalmát AWS-ben pedig van rá GUI).
A json tartalmazza a Windows instance létrehozását (t2.large instance (2 core, 8 GB RAM) pl. 35 Forint óránként, nagyjából csak bekapcsolt állapotban számlázva), környezeti beállitásokat és megtudja hivni a deployment scripteket, ami felpakolja a kis fejlesztői stack-edet.
Innentől egy kattintással létre tudsz hozni / el tudsz dobni instance-okat, a fejlesztői környezetben lévő verziók közötti váltáshoz pedig csak át kell irni a scriptben a verziószámot.
Folyamatosan látod a költségeidet, be tudsz állitani warning-ot rá.
Produktiv munka mellett tanulásra és gyakorlásra létrehoztunk egy hasonlót:
Accenture DevOps Platform
Ezt a stack-et onpremise docker-re is fel tudod dobni pár kattintással, van benne git, Gerrit, Jenkins (pár példa projektel), SonarQube, Kibana, Selenium
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Köszi mindenkinek, de ez nem webes fejlesztés, spéci windows alapú toolok, multi vállalati környezet, cloud megoldások nem jönnek szóba.
--
Soli Deo Gloria
- A hozzászóláshoz be kell jelentkezni
Én sokat dolgoztam hasonló VM -es környezetben, és nem tudnám jó szívvel ajánlani. Állandó szívás van a host<->guest szinkronizálással. Keresel valamit a neten, de éppen nem megy a két gép között a copy/paste, a VM -es gépben nincs rendesen felhúzva a böngésző, vagy ha fel van akkor lassú, a "shared drive" csomó mindent nem tud (lockolás, jogosultság problémák), ha mindent bemásolsz a VM -be kicsi lesz a HDD, ahány VM annyi windows update, a VM nincs domain -ben így másként látja a hálózatot, stb...
Ha nem nagyok szar a tool ami a fejlesztéshez kell, akkor ezek environment piszkálással elválaszthatóak. Kivétel pl. a cygwin ami bizonyos beállításokat registry -ből vesz (mount pointok), illetve a cygwin.dll -ből (nem pont ez a neve) különböző verziói szeretnek összeveszni.
Ha új helyre kell tudni feltenni a toolokat egyszerűen, akkor érdemes (akár saját)csokoládé csomagokkal támadni a kérdést. Persze csinálni és körbeadni egy VM -et sokkal egyszerűbb, csak dolgozni vacak VM -ben.
- A hozzászóláshoz be kell jelentkezni
Én évtizedre visszamenően mobil rack -et és multi boot -ot.
Ráadásul volt olyan vasam amit pont ilyenekért évekig tároltam.
Számomra a virtuális gép mindenképpen veszélyesnek tűnik, de tapasztalatom nincs.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Nekem a 3 futó projektemből 2 van konténerben. Az egy pedig azért van virtuális gépen mert saját kernelt kell használni. De mindenképp kényelmesebb a konténer.
Gyorsabban indul.
Könnyen rebuildelhető.
A szinkronizáció pedig gyerekjáték.
Mindenképp a konténer a győztes.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a hozzászólásokat, úgy látszik nem olyan egyszerű győztest hirdetni :).
Majd megbeszéljük a kollégákkal.
--
Soli Deo Gloria
- A hozzászóláshoz be kell jelentkezni