Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
SQL Server Projekte mit Azure DevOps
Markus Delhofen, arelium GmbH
2
Orga and Main Sponsors You Rock! Sponsor Many thanks to our sponsors, without whom such an event would not be possible.
3
Sponsors (Gold) Many thanks to our sponsors, without whom such an event would not be possible.
4
Sponsors continued Silver: Global: This event is climate neutral: Bronze: Many thanks to our sponsors, without whom such an event would not be possible.
5
arelium GmbH Microsoft-Partner mit den Kompetenzen Gründungsjahr: 2007
Gold Data Analytics (Business Intelligence), Silver Application Development Gründungsjahr: 2007 Firmensitz: Langenfeld (Rheinland) Mitarbeiter: ca. 15 Geschäftsführer: Markus Delhofen, Martin Kopp Kunden: verschiedene Branchen mit Schwerpunkt auf Medien Markus
6
Markus Delhofen Diplom Wirtschaftsinformatiker BI-Entwicklung
BI-Architektur MCSE Business Intelligence Aktuelle Projekte DWH-Architektur und SSIS/SSAS-Entwicklung Martin
7
Agenda SQL Server Database Project Azure DevOps Pipeline Builds
Azure DevOps Pipeline Releases Azure DevOps Artifacts Weniger Theorie, mehr Demos Hoffentlich hält das Netz / werden die Builds priorisiert
8
Was ist das Ziel? Daten-bank Visual Studio Repository Build Release
SQL Database On Premise Azure DevOps Azure On Premise
9
SQL Server Database Project
Teil von Visual Studio Workload: Datenspeicherung- und verarbeitung SQL Server Data Tools (SSDT) Mindestens seit Visual Studio 2008 - Wer arbeitet bisher mit den SSDT?
10
SSDT - Vorteile Ganzheitliche Betrachtung der Datenbank
Kompilierung und damit Prüfung der Scripte Unterstützung beim Deployment Versionierung der Datenbank-Scripte (bspw. mit Azure DevOps)
11
Features Database Project
Unterstützung der meisten Datenbank-Objekte Tabellen, Views, Indexe, Linked Server, Schemata usw. Refactoring (wenige) Rename, Move to Schema, Expand Wildcards Designer für Tabellen Unterstützung beim Deployment - *der meisten*, da bestimmt etwas fehlt, ich kenne aber nichts.
12
Deployment Schema Compare Publish Erstellen eines DACPAC per Build
Erzeugt ein Deployment-Script nur DDL Publish Erzeugt ebenfalls ein Deployment-Script Unterstützung von DML durch Pre- und Post-Deployment-Scripten Erstellen eines DACPAC per Build - *der meisten*, da bestimmt etwas fehlt, ich kenne aber nichts.
13
Demo SQL Server Database Project
Datenbank importieren -> (ca. 10 Minuten) SchemaCompare -> Compile Error -> No Action Neue Tabelle „FactCustomer“ anlegen Refactoring Rename zeigen (CustomerCity -> CustomerPostCode) Pre/Post Deployment Script anlegen Schema Compare Publish
14
Azure DevOps - Übersicht
Overview Boards Repositories Pipelines TestPlans Artifaces Kurz erklären, was sich hinter den einzelnen Punkten verbirgt
15
Azure DevOps - Übersicht
Overview Summary, Dashboards, Analytic views, Wiki Boards WorkItems, Boards, Backlogs, Sprint, Queries Repositories Files, Commits, Pushes, Branches, Tag, Pull Requests Pipelines Builds, Releases, Library, TaskGroups, Deployment Groups TestPlans Test Plans, Parameters, Configuration, Runs, Load test Artifaces Etwas genauer werden, falls etwas vergessen wurde.
16
Azure DevOps - Übersicht
Pipelines Builds Releases Deployment Groups Artifaces Und das schauen, wir uns jetzt gleich an.
17
Azure DevOps Pipelines – wofür?
Kurz gesagt: Erstellen und Bereitstellen von Artefakten aus einem Repository Was???
18
Repository Source Code Verwaltung in Azure DevOps
Ablage der Sourcen mit Versionierung Als Protokoll GIT oder TFS
19
Artefakt (Artifact) Begriff kommt aus der Software Entwicklung
Bezeichnet die (Zwischen-) Ergebnisse eines Softwareerstellungsprozesses Bspw. ein ausführbares Programm Hier: Alles was bei einem Build entstehen kann
20
Erstellen: bedeutet, dass …
… aus Sourcecode (aus einem Repository) ein Artefakt erstellt wird Dies übernimmt: Pipeline -> Build in Azure DevOps
21
Bereitstellen: bedeutet, dass …
… Artefakte für die Weiterverwendung bereit gestellt werden Download Deployment in Testumgebung Deployment nach Produktion Dies übernimmt: Pipeline -> Releases in Azure DevOps
22
Features Pipeline Build-Agents Parallele Builds Eventbasiertes Starten
Gehostete Integration von eigenen (lokalen) Build-Agents Parallele Builds Eventbasiertes Starten Speicherung der Build-Ergebnisse (Artefakte) Berechtigungskonzept -Benachrichtigung Integration ins Repository
23
Pipeline | Build - 101 trigger Auslöser pool Wo läuft der Build?
variables Konfiguration für den Build steps Welche Schritte sind im Bild? tasks Welche Aufgaben werden ausgeführt?
24
Vordefinierte Variablen (Auszug)
Bemerkung Build.ArtifactStagingDirectory Staging-Verzeichnis im Build-Prozess Build.BuildNumber Build Number Build.Repository.Name Name des Repository Build.SourcesDirectory Build-Verzeichnis des Agents System.Debug True, für ausführliche Build-Logs System.teamProject Name des Team Projektes
25
Demo Azure Pipeline Zeit: ca. 8 Minuten Demo1 Pipeline öffnen
YAML Script zeigen -> Hinweis auf Repo, dass diese ggf. sich überschreiben. Task rechts zeigen Pipeline starten Trigger zeigen
26
Wo ist mein Build Ergebnis?
Problem: Build Agent wird nach dem Build entsorgt, daher ist alles weg Lösung: Ablegen als Artefakte, um das Ergebnis zu sichern
27
PublishBuildArtifacts@1
Artefakte ablegen Tasks sorgen dafür, dass Artefakte bereitgestellt werden Nutzung einer Staging-Area: $(build.artifactstagingdirectory) Es können also erst einmal mehrere Artefakte gesammelt werden, bevor diese veröffentlicht werden In Preview: PublishPipelineArtifact
28
Demo Azure Pipeline Zeit: ca. 8 Minuten Pipeline SQL Saturday zeigen
Build anwerfen und dann zeigen Waiting for Queue Trigger Project Settings Ergebnis benachrichtigung
29
Pipeline | Releases Pipeline, um Artefakte zu veröffentlichen
komplexe Prozesse sind möglich Approvals (Post- & Pre-Deployment) werden unterstützt
30
Demo Pipeline Releases
Zeit ca. 5 Minuten Pipeline anlegen Pre-Approval konfigurieren und zeigen (wenn noch Zeit)
31
On-Premise Deployment
Problem Azure DevOps kann nicht direkt lokal zugreifen Lösung: lokaler Agent / Deployment groups Lokaler Dienst „Azure Pipelines Agent“
32
Azure Pipeline Agent Einfache in Installation aus Azure DevOps
Authentifizierung mit Personal Access Token Azure Pipeline Port: 443 Agent OnPremise Agent in Cloud
33
Demo Deployment Groups
Zeit ca. 3 Minuten Deployment Groups öffnen Zeigen, wie theoretisch ein Agent hinzugefügt wird. Wenn meiner wieder läuft dies auch einmal zeigen. YML:
34
Azure Artifacts Ablage von Artefakten in einem Feed
Verbindung mit Feed möglich Versionierung Berechtigungen
35
Unterstützte Pakettypen
Mave npm NuGet PyPl Universal
36
Demo Artifacts Erst den Feed anlegen Dann diesen beladen
37
Fazit Ist brauchbar Konzepte werden immer ausgereifter
Einfache Integration von Azure DevOps zu OnPremise
38
Noch Fragen. markus. delhofen@arelium
Noch Fragen? Vielen Dank, viel Erfolg bei der Verlosung und einen guten Heimweg
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.