Octopus Deploy alternatívák

Octopus Deploy kiváltásra keresek ötleteket, javaslatokat.

Mire és hogyan használjuk: van egy IIS webalkalmazásunk, amit sokszáz (kb 3-400) helyre telepítettek.
Még a régi .net framework, nem .net core sajnos.
Negyedévente jön ki belőle új verzió.
Az új verziók deployment menete jelenleg:
Gitlab CI-on végigmegy a build, lint, test stb. folyamat, majd a legvégén az új IIS webroot becsomagolódik egy Octopus Deploy csomagba.

Az Octopus Deployban pedig mind a sokszáz ügyfélnek van egy hozzátartozó tenantja, abban pedig tenant-specifikus változók.
Például connection stringek az adatbázis kapcsolathoz, helyi path-ek file tárolásra, emailhez, logolási beállítások és hasonlók amik a machine.config-ban vannak tárolva.

Az ügyfeleknél pedig az Octopus Deploy agentje (Tentacle) fut polling módban. Mikor jön a negyedéves frissítés, beütemezzük a tenantoknak a deploymentet.
Az agent meg lehúzza az Octopus szerverről az új webroot csomagot, kicsomagolja, majd a tenant specifikus változókat behelyettesíti a machine.configban, aztán kicseréli az IIS-ben a webrootot az új verzióra.
A machine.config a már említettek miatt ugye minden ügyfélnél mást tartalmaz.

Összefoglalva valami multi-tenant deployment eszközt keresek az Octopus helyett.
Az Octopus-szal egyébként nincs gond, de tavaly kb. megduplázták az áraikat.
Idén májustól meg teljesen más árazást találtak ki amivel effektíve még egyeszer dupláznak a már megemelt áraikon, ezért más lehetséges megoldások után keresgélek.

Hozzászólások

Szerintem a tool amit keresel az a Puppet.

Ezer éve használtam utoljára, akkor is Linuxhoz, de úgy rémlik hogy a Puppet az inkább konfiguráció managementre való és nem igazán deploymentre, nem?

Mármint biztos meg lehet vele oldani, de kezelhető benne praktikusan ugyanannak a konfig file-nak többszázféle változata?

"Everything fails, all the time."

Hat alapvetoen config management + software deployment. En utoljara 3-4 eve hasznaltam vegyes kornyezetben (windows, linux , macos) conf managementre, illetve software distribution-ra. 

Es igen, meg tudod vele csinalni, hogy mindenki mast kapjon, tobb fele keppen is. 

Amugy meglepoen jol mukodik windows-on annak ellenere, hogy ruby-ban irva es a nativ fajlmuveletek kicsit lassuak. 

Igaz, Nem hasznaltam tobb szaz kulonbozo konfighoz de szerintem a template funkcio benne sokmindenre kepes

https://www.puppet.com/docs/puppet/5.5/lang_template.html

Agentek pollozni tudnak ahogy kerted. Nekem a te use cased az inkabb konfiguracio kezeles nekem de ezen nem fogunk osszeveszni :-)

Ha en kapnam azt a feladatot ami te leirtal akkor en a puppet iranyaba mozdulnek el.

Hogy írjak valami rossz ötletet... az ocsinventory(-ng) tud deployolni. Deeee nagyon bután, kb. ledobja az installert, és az installál.

Viszont remekül működik, ha több ezer kliensre kell deployolni.

Az esetedben ha az installer tudja/tudná szedni a beállításokat helyi fájlból - például -, akkor nem biztos hogy teljesen értelmetlen ötlet.

Aztán ez tulajdonképpen egy hw/sw inventory rendszer, szóval esélyes, hogy kitör a pánik, hogy kémszoftvert telepítetek a gépekre...

Jah, és ezeket úgy kb. 7-8 éves emlékek alapján írom. Nem lehetetlen, bár kétlem, hogy rá lehet venni változók gépspecifikus dolgok átadására.