Windows IIS

Fred

Membru Senior
Help! Am o dilema despre un proces, nu despre detalii de executie.

Se da o companie care are filiale cu datacenters proprii si o cretinatate de aplicatie cu n-spe tone de componente scrise toate in C# si care ruleaza ca servicii web in IIS sub Windows. Nu stiu ce fac majoritatea si probabil nici nu o sa stiu vreodata. Cand furnizorul minune vine cu versiuni (de obicei minore, dar nu conteaza) mai noi ale aplicatiei, trebuie facut deployment pe fiecare server. Totul se face manual, in IIS, cu right-click-> deploy, niste Netx->Next, verificat vizual ce e pe ecran etc. Vor sa automatizeze un pic treaba asta, ca le ia vreo 2 saptamani un singur deployment, asa ca s-au apucat sa incerce o chestie care are un pipeline de deployment (nu Git, ca mai intai trebuie sa faca build in Jenkins, dar ceva similar) si acel pipeline executa comenzi de powershell cu IIS ca target ca sa opreasca aplicatia, sa o stearga, sa o creeze din nou din pachetul nou, etc. Chestia mergea la un moment dat, facuta de un fost coleg foarte, foarte junior (adica student fara nici un fel de experienta)si acum nu mai merge, nimeni nu stie de ce, dar ar vrea sa arunc o privire pe-acolo si sa o repar.
In afara faptului ca nu am nici un fel de experienta in powershell si automatizari in IIS, dar as putea sa invat suficient de repede, problema mea e ca nu mi se pare ca procesul in sine e bun de ceva. IIS 10 e aparut de ceva ani de zile, functioneaza decent la chestii simple, mai are niste add-ons pentru URL rewrite sau alte nevoi, are un web.config care ar fi ok daca ar fi suficient, dar toata partea de .NET mi se pare o incalceala complicata prea tare si degeaba. La o discutie cu ei le-am aratat un exemplu de deployment facut pentru o aplicatie PHP, doar 2 comenzi: git pull si composer install. Da, in .NET trebuie sa si compilezi codul (dar o face deja Jenkins), eu doar voiam sa le arat cat de simplu si rapid se poate face in alte circumstante versus monstruozitatea lor de deployment, dar nu am o idee concreta despre cum s-ar putea face altfel, mai simplu, si daca exista vreo unealta care sa fie utilizabila pentru IIS. Oare exista asa ceva? Exista unelte bune de app deployment pentru Windows?
 
M-aș uita pe sculele actuale de config management/orchestrare (ansible/puppet/chef and stuff) ca să abstractizezi chestiile nasoale (clica clica / powershell) și să poți face deployment dintr-un singur loc la toate chestiile. Puppet știu că are integrate ok cu IIS, din păcate nu are orchestrare în versiunea community, dar există mcollective, bolt și alte chestii de remote execution.​
 
Chef nu stie asa ceva, are Habitat dar ala pare a fi focusat pe anumite scenarii si cam atat. Ansible are nevoie de cel putin o masina Linux pentru control, nu am asa ceva la dispozitie. La Puppet nu e clar ce face la application deployments, le-am lasat un mesaj, sa vad daca raspund.
 
Back
Top