Automatisiertes T-SQL Unit Testing mit Jenkins, Docker tSQLt und dem JUnit Plugin

In den vorausgehenden Artikel zu Jenkins, Docker und SQL Server haben wir uns bisher ausschließlich drauf beschränkt. In dem heutigen Artikel werden wir unsere multi-branch Pipeline mit zwei simplen tSQLt unit tests erweitern. Der einzige Unterschied zur Vorgehensweise des vorherigen Artikels ist, dass wir dieses Mal zusätzlich das JUnit Plugin für Jenkins benötigen. Auch hier werden wir wieder das SQL Server 2017 Linux Image verwenden. Dabei kommt es leider zum Konflikt, da Linux nur mit Baugruppen kompatibel ist, die als SICHER (engl. SAFE) gekennzeichnet sind. tSQLt ist das nicht. Um die beiden Bausteine also trotzdem miteinander verwenden zu können, muss …

Weiterlesen …Automatisiertes T-SQL Unit Testing mit Jenkins, Docker tSQLt und dem JUnit Plugin

Jenkins Multi-Branch Build Pipeline mit Docker und SQL Server

Der erste Schritt jedes Systems für kontinuierliche Integration ist, das Projekt unter Source Code Control zu bringen. Danach kann man sich eine Branching-Strategie überlegen, die dem Projekt angemessen ist. Ein “Branch” beschreibt dabei eine Evolutions-Linie einer Code Base in einem Source Control Repository. Ein Source Code Control System wie z.B. Git hat immer einen master-Branch als Grundlage der Veränderung der Code-Base. Da in den meisten Fällen mehr als nur ein Entwickler an einem Projekt arbeitet und das Arbeiten mit nur einem Branch sich als sehr unpraktisch erweist, benötigen wir die zuvor erwähnte Branching-Strategie. An dieser Stelle kommt das Jenkins Multi-Pipeline …

Weiterlesen …Jenkins Multi-Branch Build Pipeline mit Docker und SQL Server

Erstellen einer Continuous Integration Build Pipeline mit Jenkins, Docker und SQL Server

In einer Welt mit kontinuierlicher Datenintegration und sofortiger Veröffentlichung kann es vor kommen, dass wir vielleicht mehrere unterschiedliche Builds an nur einem Tag erzeugen müssen. Dafür eignet sich besonders die Verwendung von Docker, da mit dessen Hilfe Umgebungen mit nur wenig Arbeit erzeugt und genau so leicht wieder entfernt werden können. In dem folgenden Artikel wollen wir veranschaulichen wie man mit der Hilfe von GIT, Jenkins, Docker und SQL Server für Linux eine simple Pipeline bauen kann. Die Pipeline Die von uns im Folgenden erstellte Pipeline wird aus insgesamt 5 unterschiedlichen Schritten bestehen. Diese sind: Auschecken eines SSDT Projekts aus …

Weiterlesen …Erstellen einer Continuous Integration Build Pipeline mit Jenkins, Docker und SQL Server

Ansible: Backup einer remote PostgreSQL-Datenbank erstellen

Einführung In diesem Artikel wollen wir darauf eingehen, wie man mithilfe eines Ansible Playbooks die Erstellung und den Download eines Datenbankdumps von einem Remote-Server automatisieren kann. Dieses Playbook führt folgende Schritte aus: Richtet ein Sicherungsverzeichnis auf dem lokalen PC unter /tmp/bkups/blog/postgres/db ein. Führt einen Shell-Befehl in einem Postgres-Docker-Container auf einem Remote-Server aus, der die Datenbank auf ein eingebundenes Volumen dumpt. Im letzten Schritt wird die gedumpte Datenbank von dem Remote-Server in das Sicherungsverzeichnis auf dem lokalen PC heruntergeladen Implementierung Erster Schritt: So erstellst Du ein lokales Sicherungsverzeichnis Mit der folgenden Ansible-Playbook-Eingabe erstellst Du ein lokales Sicherungsverzeichnis: – name: Fetch a backup …

Weiterlesen …Ansible: Backup einer remote PostgreSQL-Datenbank erstellen

Aktiv-Aktiv PostgreSQL Cluster: Eine Einführung

Eine der größten Herausforderungen für Datenbank-Entwickler besteht heutzutage darin, sicherzustellen, dass ihre Daten immer verfügbar sind, damit sie die Hochverfügbarkeitsanforderungen ihrer Anwendungen erfüllen können. Die PostgreSQL-Replikation hat in den letzten Hauptversionen erhebliche Fortschritte gemacht. Neben verschiedener Verbesserungen und Erweiterungen werden jedoch Anwendungsfälle, in denen die Anwendung Zugriff auf eine aktualisierte Datenbank in mehr als einer geografischen Region benötigt, häufig als “Aktiv-Aktiv”-Cluster bezeichnet, nicht berücksichtigt. Genauer gesagt handelt es sich bei einem Aktiv-Aktiv-Cluster um einen Cluster, bei dem eine Anwendung auf jeder Instanz Änderungen vornehmen kann, die dann in allen Instanzen repliziert werden, sodass jede Instanz im Cluster verwendet werden kann, um: nahezu …

Weiterlesen …Aktiv-Aktiv PostgreSQL Cluster: Eine Einführung

Erste Anwendungen mit Docker und Windows Server 2019

Windows Server 2019 ist der aktuelle langfristige Windows Server und seit 2018 verfügbar! Neu sind sehr nützliche Tools, um Docker Windows Container zu benutzen. Stefan Scherer hat diese Neuheiten auf seinem Blog veröffentlicht und kann in seinem Artikel „What’s new for Docker on Windows Server 2019“ nachgelesen werden. Ebenfalls empfehlenswert ist das Buch „Docker on Windows“ von Elton Stonemann, das sich ausschließlich mit Windows Server 2019 beschäftigt. Um mit Docker zu starten benötigst Du einen Windows Server, auf dem der Container-Prozess direkt auf dem Host-OS laufen kann. Analog können die selben Docker-Images, -Files und Befehle unter Windows 10 benutzt werden, …

Weiterlesen …Erste Anwendungen mit Docker und Windows Server 2019

PostgreSQL Docker & Windows Server 2019

  Einführung PostgreSQL, auch Postgres genannt, ist ein objektrelationales Open Source Datenbankmanagementsystem. Mit MySQL gehört PostgreSQL zu den beliebtesten relationalen Datenbankmanagementsystemen. Heute ist Postgres eines der häufigsten verwendeten Docker-Images, das in Form von Containern ausgeführt wird. Die Beliebtheit von containerisierten Datenbanken geht auf die Einfachheit zurück, mit der sie bereitgestellt werden. Anstatt eine zentrale Datenbank zu haben, können Entwickler außerdem für jede Anwendung einen PostgreSQL-Container verwenden. Wir werden uns hier damit beschäftigen, wie man PostgreSQL auf einem Docker Container ausführen und wie man eine PostgreSQL-Datenbank sichern kann.   Voraussetzungen Zugriff auf Windows Powershell Ein Benutzerkonto mit Administrator-Berechtigung Eine vorhandene Docker-Installation …

Weiterlesen …PostgreSQL Docker & Windows Server 2019

SQL Server & Docker: Volume Backup und Wiederherstellung

In diesem Artikel möchten wir das Erstellen und Wiederherstellen des Backups eines Docker Volumens das von einer SQL Server Installation genutzt wird, betrachten. Stellen wir uns zunächst folgende Ausgangssituation vor: Auf einem Docker Container läuft ein MS SQL Server 2017, der auf einem Volumen benötigte Daten gespeichert hat. Dieses Volumen, oder viel mehr die Daten auf diesem Volumen, sind persistent. Das bedeutet, dass auch nach einem Neustart des Containers die gespeicherten Informationen noch vorhanden sind. Tipp: Sollen die gespeicherten Daten nach einem Neustart verschwinden, kann auf folgende Weise die “-v” Flagge genutzt werden: docker-compose down -v. Hier die zur Situation zugehörige …

Weiterlesen …SQL Server & Docker: Volume Backup und Wiederherstellung

Docker und SQL Server: Erstellen, Updaten und .NET Anbindung

In diesem Beitrag möchte ich Dir eine kleine Einführung in die Verwendung von MSSQL mit Docker Containern geben. Die primären Ziele dabei sind die folgende: das Ausführen eines SQL Servers mithilfe von Docker das Ausführen mehrerer SQL Server mithilfe von Docker das Wiederherstellen einer Datenbank auf dem zuvor erstellten SQL Server Container das Verbinden des MSSQL Containers mit dem .NET Core Vorbereitungen Als erstes muss das SQL Server Image bezogen werden. Mithilfe der folgenden PowerShell-Eingabe kann eine Übersicht der von Microsoft zur Verfügung gestellten SQL Server Images erzeugt werden: invoke-webrequest https://mcr.microsoft.com/v2/mssql/server/tags/list Als nächstes, können wir die Ausgabe des zuvor ausgeführten …

Weiterlesen …Docker und SQL Server: Erstellen, Updaten und .NET Anbindung

Erstellen eines MSSQL Docker Containers

Container Database-Entwicklung auf höchstem Niveau   Leicht, schnell und praktisch Du brauchst keinen Administrator oder umfangreiche Anleitungen über den MS SQL Server. Konzentriere Dich hier auf das, was Du wirklich benötigst: Einen SQL Server, der Anfragen annehmen und Daten verarbeiten kann. Deine API (Programmierschnittstelle) kann in Deiner Datenbank getestet werden. In den ersten Stufen der Entwicklung solltest Du nicht viel Zeit mit der Konfiguration Deines SQL Servers oder der Konfiguration einer gehosteten Umgebung investieren. Hier kommt der lokale Docker Container ins Spiel, der Deine Arbeit positiv verändern wird. Dieser Artikel erklärt den Aufbau eines Docker Containers auf der Basis von …

Weiterlesen …Erstellen eines MSSQL Docker Containers