![Page 1: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/1.jpg)
Zautomatyzuj swój proces wdrażania projektów SSIS
Bartosz RatajczykSQL Server Consultant, 7N
![Page 2: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/2.jpg)
![Page 3: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/3.jpg)
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ą
![Page 4: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/4.jpg)
SQLDay 2017
O czym nie będzie?
• O wdrażaniu pojedynczych pakietów
• O dobrych praktykach
• O DevOps jako takim
![Page 5: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/5.jpg)
SQLDay 2017
Bartosz Ratajczyk
• SQL Server Consultant – 7N
• Trener – CBSG, Stacja.IT
• Prelegent na konferencjach, spotkaniach grup PLSSUG
• MCSE, MCT
http://bartekr.net [email protected]
![Page 6: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/6.jpg)
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)
![Page 7: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/7.jpg)
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
![Page 8: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/8.jpg)
USPRAWNIAMY PRACĘ
No to do roboty
SQLDay 2017
![Page 9: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/9.jpg)
SQLDay 2017
Kompilacja projektu – pierwsze kroki
![Page 10: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/10.jpg)
SQLDay 2017
Problemy z kompilacją
SQLDay 2017
• EncryptAllWithPassword, EncryptSensitiveWithPassword
– wymaga ręcznego podania hasła
• Potrafi się zawiesić
![Page 11: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/11.jpg)
SQLDay 2017
Przygotowanie ręczne
![Page 12: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/12.jpg)
SQLDay 2017
MSBuild
![Page 13: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/13.jpg)
SQLDay 2017
SSISMSBuild
• Dedykowane zadania kompilacji i wdrażania
–DeploymentFileCompilerTask
–DeployProjectToCatalogTask
• Kod źródłowy do samodzielnej kompilacji
http://sqlsrvintegrationsrv.codeplex.com
![Page 14: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/14.jpg)
SQLDay 2017
Kompilacja: Build.proj
![Page 15: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/15.jpg)
SQLDay 2017
Wdrożenie – IsDeploymentWizard
• IsDeploymentWizard.exe
• /Silent
![Page 16: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/16.jpg)
SQLDay 2017
IsDeploymentWizard /Silent
• /Silent == fire and forget
• Zdarzają się przypadki, gdzie /Silent nie działa poprawnie *
![Page 17: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/17.jpg)
SQLDay 2017
Znowu MSBuild
![Page 18: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/18.jpg)
DEMO
Kompilacja i wdrożenie
SQLDay 2017
![Page 19: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/19.jpg)
SQLDay 2017
Inne sposoby kompilacji/wdrożenia projektu
• Skrypt Powershell z użyciem SMO
• SSISBuild – Roman Tumaykin
• PowerShell Continuous Integration (PSCI) – ObjectivityLtd
• ISDeploymentCmd
![Page 20: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/20.jpg)
SQLDay 2017
Potencjalne problemy kompilacji i wdrożenia
![Page 21: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/21.jpg)
SQLDay 2017
Kompilacja: Build.proj (podejście 2)
![Page 22: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/22.jpg)
SQLDay 2017
Obsługa środowisk (Environments)
• Visual Studio Configuration Manager
• Powershell + SMO
–Array
–CSV
–Baza danych
– JSON
![Page 23: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/23.jpg)
SQLDay 2017
Configuration Manager
![Page 24: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/24.jpg)
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
![Page 25: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/25.jpg)
SQLDay 2017
![Page 26: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/26.jpg)
SQLDay 2017
Utworzenie środowiska
![Page 27: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/27.jpg)
SQLDay 2017
Referencja do środowiska
![Page 28: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/28.jpg)
SQLDay 2017
Konfiguracja projektu
![Page 29: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/29.jpg)
SQLDay 2017
Problemy przy automatyzacji środowiska
• Zmienne typu Sensitive
![Page 30: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/30.jpg)
DEMO
Tworzenie środowiska i konfiguracja projektu
SQLDay 2017
![Page 31: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/31.jpg)
SQLDay 2017
Sprawdzanie poprawności
• Uruchomienie walidacji to proces asynchroniczny
• Zlecamy zadanie do wykonania i możemy śledzić postęp
![Page 32: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/32.jpg)
SQLDay 2017
I jeszcze sprawdzanie poprawności
::UseAllReferences::SpecifyReference, $reference
![Page 33: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/33.jpg)
SQLDay 2017
Testowe uruchomienie
![Page 34: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/34.jpg)
DEMO
Walidacja i test wykonania
SQLDay 2017
![Page 35: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/35.jpg)
SQLDay 2017
Co by tu jeszcze można?
• Testy NBi
• Weryfikacja zgodności z konwencją Jamie Thomsona
![Page 36: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/36.jpg)
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ą, …
![Page 37: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/37.jpg)
DEMO
Proces automatyczny w TFS
SQLDay 2017
![Page 38: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/38.jpg)
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
![Page 39: Zautomatyzuj swój proces wdrażania projektów SSIS](https://reader033.vdocuments.site/reader033/viewer/2022042707/5a64d1f47f8b9a76038b49f9/html5/thumbnails/39.jpg)