Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Zautomatyzuj swój proces wdrażania projektów SSIS

99 views

Published on

Prezentacja z konferencji SQLDay 2017, Wrocław 16.05.2017.

Wdrażanie kolejnych wersji projektów SSIS jest dość monotonną ręczną pracą z poziomu SQL Server Data Tools. Rebuild/Deploy/Validate/Execute. Kiedy dochodzi do tego system kontroli wersji, branch, merge, dodawanie pakietów do projektów i przełączanie się między środowiskami DEV/TEST/PROD to robi się jeszcze nudniej.

Na sesji zaprezentuję jak można przerzucić te wszystkie czynności na serwer. Zobaczysz jak wykorzystać do tego Powershell i dostępne API .NET. Dodam do tego kontrolę wersji w TFS i przekonasz się, że testowanie i dostarczanie kolejnych wersji projektów wcale nie musi być tak uciążliwe. Zobaczysz na co zwrócić uwagę projektując własne rozwiązanie, z których zasobów skorzystać, jakie są ograniczenia i ich próby obejścia.

Published in: Education
  • Be the first to comment

  • Be the first to like this

Zautomatyzuj swój proces wdrażania projektów SSIS

  1. 1. Zautomatyzuj swój proces wdrażania projektów SSIS Bartosz Ratajczyk SQL Server Consultant, 7N b.ratajczyk@gmail.com
  2. 2. SQLDay 2017 O czym będzie? • O ułatwianiu sobie życia, czyli jak pozbyć się nudnej pracy • Wdrażanie projektów jednym skryptem –lub jednym/dwoma krokami w TFS • O tym jak przygotować sobie wszystkie konfiguracje • O różnych opcjach i przeszkodach które nas czekają
  3. 3. SQLDay 2017 O czym nie będzie? • O wdrażaniu pojedynczych pakietów • O dobrych praktykach • O DevOps jako takim
  4. 4. SQLDay 2017 Bartosz Ratajczyk • SQL Server Consultant – 7N • Trener – CBSG, Stacja.IT • Prelegent na konferencjach, spotkaniach grup PLSSUG • MCSE, MCT http://bartekr.net b.ratajczyk@gmail.com
  5. 5. SQLDay 2017 Z jakich kroków może się składać wdrożenie? 1. Kompilacja projektu 2. Utworzenie folderu dla projektu 3. Wdrożenie na serwer 4. Utworzenie środowiska 5. Ustawienie referencji środowisko – projekt 6. Utworzenie zmiennych środowiskowych 7. Konfiguracja projektu 8. Uruchomienie walidacji 9. Weryfikacja walidacji 10. Uruchomienie testowe • Testowanie (NBi, LegiTest) • Sprawdzanie zgodności ze standardami (Jamie Thomson)
  6. 6. SQLDay 2017 Podnosimy poziom trudności • Kontrola wersji –Gałąź DEV, TEST, PROD • Kilka środowisk –Serwer DEV, TEST, PREPROD, PROD • Różne konfiguracje –Ścieżki do katalogów na różnych serwerach –Połączenia do różnych baz danych • Wdrażamy na raz po kilka projektów
  7. 7. USPRAWNIAMY PRACĘ No to do roboty SQLDay 2017
  8. 8. SQLDay 2017 Kompilacja projektu – pierwsze kroki
  9. 9. SQLDay 2017 Problemy z kompilacją SQLDay 2017 • EncryptAllWithPassword, EncryptSensitiveWithPassword – wymaga ręcznego podania hasła • Potrafi się zawiesić
  10. 10. SQLDay 2017 Przygotowanie ręczne
  11. 11. SQLDay 2017 MSBuild
  12. 12. SQLDay 2017 SSISMSBuild • Dedykowane zadania kompilacji i wdrażania –DeploymentFileCompilerTask –DeployProjectToCatalogTask • Kod źródłowy do samodzielnej kompilacji http://sqlsrvintegrationsrv.codeplex.com
  13. 13. SQLDay 2017 Kompilacja: Build.proj
  14. 14. SQLDay 2017 Wdrożenie – IsDeploymentWizard • IsDeploymentWizard.exe • /Silent
  15. 15. SQLDay 2017 IsDeploymentWizard /Silent • /Silent == fire and forget • Zdarzają się przypadki, gdzie /Silent nie działa poprawnie *
  16. 16. SQLDay 2017 Znowu MSBuild
  17. 17. DEMO Kompilacja i wdrożenie SQLDay 2017
  18. 18. SQLDay 2017 Inne sposoby kompilacji/wdrożenia projektu • Skrypt Powershell z użyciem SMO • SSISBuild – Roman Tumaykin • PowerShell Continuous Integration (PSCI) – ObjectivityLtd • ISDeploymentCmd
  19. 19. SQLDay 2017 Potencjalne problemy kompilacji i wdrożenia
  20. 20. SQLDay 2017 Kompilacja: Build.proj (podejście 2)
  21. 21. SQLDay 2017 Obsługa środowisk (Environments) • Visual Studio Configuration Manager • Powershell + SMO –Array –CSV –Baza danych –JSON
  22. 22. SQLDay 2017 Configuration Manager
  23. 23. SQLDay 2017 Configuration Manager - wykorzystanie • Różne wartości parametrów dla różnych konfiguracji • Przechowywanie danych w plikach .dtproj • Można wykorzystać jako konfiguracje projektu w środowiskach • Brak jednolitego podglądu
  24. 24. SQLDay 2017
  25. 25. SQLDay 2017 Utworzenie środowiska
  26. 26. SQLDay 2017 Referencja do środowiska
  27. 27. SQLDay 2017 Konfiguracja projektu
  28. 28. SQLDay 2017 Problemy przy automatyzacji środowiska • Zmienne typu Sensitive
  29. 29. DEMO Tworzenie środowiska i konfiguracja projektu SQLDay 2017
  30. 30. SQLDay 2017 Sprawdzanie poprawności • Uruchomienie walidacji to proces asynchroniczny • Zlecamy zadanie do wykonania i możemy śledzić postęp
  31. 31. SQLDay 2017 I jeszcze sprawdzanie poprawności ::UseAllReferences ::SpecifyReference, $reference
  32. 32. SQLDay 2017 Testowe uruchomienie
  33. 33. DEMO Walidacja i test wykonania SQLDay 2017
  34. 34. SQLDay 2017 Co by tu jeszcze można? • Testy NBi • Weryfikacja zgodności z konwencją Jamie Thomsona
  35. 35. SQLDay 2017 A jak z tym TFS? • Własny proces budowania/wdrażania w TFS • Można rozbudować o kroki PowerShell do zarządzania środowiskami, walidacją, …
  36. 36. DEMO Proces automatyczny w TFS SQLDay 2017
  37. 37. SQLDay 2017 Takie to proste! • Praca nadal jest nudna, ale to komputer ją wykonuje • Do automatyzacji wykorzystaj – MSBuild – Powershell – SMO • Zaangażuj dodatkowe oprogramowanie do CI/CD

×