Cílem přednášky bude ukázat, jak se vypořádat s duplikací funkcí a proměnných v Powershell skriptech, automatizací distribuce obsahu na klienty v AD, absencí kontroly skriptů před nasazením do produkčního prostředí, zálohováním, auditováním, formátováním kódu atd. A to za pomoci centrálního CI/CD Git repozitáře, který zároveň poslouží jako jediný zdroj veškerého (nejen) Powershell obsahu pro klienty v AD. Výsledkem, tak bude plně automatizované prostředí, kde jedinou manuální činností, bude psaní kódu.
Řešení je navrženo tak, aby bylo co nejjednodušší na použití bez nutnosti hlubších znalostí GITu a zároveň co nejvíc blbuvzdorné :) Použité nástroje: GIT, GIT Hooks, Powershell, Visual Studio Code a jedna GPO.
Výstupem přednášky bude také step-by-step návod pro zprovoznění ve vašem prostředí včetně odkazu na repozitář s potřebnými daty.
Osnova • Motivace o opakování stejných funkcí a proměnných v různých skriptech (složitá udržitelnost), o absence kontroly před nasazením skriptů do ostrého provozu (syntax, best practice, formátování, …), o absence verzování a zálohování, o absence centrální distribuce skriptů na servery, o každý správce má „svoje“ funkce (složité sdílení know how mezi kolegy), o skripty a moduly jsou rozprostřeny na různých místech v prostředí (různé verze, nepřehlednost, komplikované zálohování, …) • Představení řešení v podobě CI/CD GIT repozitáře • Představení jednotlivých komponent repozitáře, jejich účelu, motivace pro jejich použití + use case o Visual Studio Code (jednotné vývojové prostředí, auto-formátování kódu, snippets, GUI pro GIT, TODOs) o GIT Hooks (automatizace kontrol a distribuce) o Powershell skripty (kontrola syntaxe a kompatibility, AST pro kontroly obsahu, automatické generování Powershell modulů z ps1 skriptů, distribuce obsahu, code signing, ...) • Praktické ukázky o distribuce obsahu pouze na vybrané stroje o distribuce globálního Powershell profilu o distribuce konfiguračních dat pro IIS / SCCM / MDT / ... o distribuce nových funkcí a modulů na klienty v AD o ...
UPOZORNĚNÍ: Na této akci nebude zajištěno občerstvení.