Deployment

W firmie od dłuższego czasu przymierzałem się do wdrożenia pewnego niewielkiego i w sumie tylko na wewnętrzny użytek – narzędzia do zautomatyzowania procesu wdrażania paczek u klientów. To co zautomatyzowane było do tej pory przeze mnie – to kompresowanie całego projektu do 7z, kopiowanie na serwer ftp, ściąganie paczki u klienta, rozpakowanie, podmiana oraz wykonanie backupu bazy. Wszystko wykonywane jako skrypt, a nie program (notabene właśnie po to z założenia są skrypty). Po drodze – przy próbach stworzenia takiego narzędzia – pojawiły się 2 zasadnicze problemy wynikające z ograniczeń platformy (tu mowa przede wszystkim o Powershell oraz MSBuild). I o nich jest właśnie dzisiejszy…

Wrzucanie stronki na serwer produkcyjny, czy inaczej deployment stronki, to rzecz, która znana jest na pewno każdemu Web Developerowi. Postaram się dziś powiedzieć (napisać) słów kilka o tym jak się to robi, gdy chcemy wrzucić stronkę MVC do jej miejsca docelowego. Postaram się także przedstawić rzeczy, na które warto zwrócić uwagę, gdy będziemy wrzucali zawartość aplikacji na serwer Webio. A więc zaczynamy: W naszym procesie wytwórczym aplikacji dochodzimy do momentu, gdy warto efekt naszej pracy umieścić na serwerze innym niż deweloperskim. Chcąc to zrobić z aplikacją ASP.NET MVC mamy do dyspozycji 2 możliwości: wrzucić wybrane pliki ręcznie przez FTP…

Dziś bardzo przyjemny temat związany z tym jak szybko zaimplementować względnie prosty mechanizm autoryzacji, zarządzania użytkownikami, rolami i poziomami dostępu. Oczywiście w ASP.NET i C# :) Postaram się omówić zagadnienie od początku, tak by użycie przez osobę, dla której to nowość nie stanowiło jakiegoś specjalnego wyzwania. Wstęp Zacznijmy od ustalenia co należałoby zrobić aby dodać zarządzanie użytkownikami do własnej witryny. Oczywiście należy dodać tabelki do bazy (na dobrą sprawę 3 – dla użytkowników, ról oraz przyporządkowań user-role), potem dodać jakiś mechanizm dodawania ról, użytkowników i przypisywania ich do ról (dla administratora – po to by nie robić tego bezpośrednio w bazie, choć…