Kontinuierliche Integration - Datenbank
Bei der kontinuierlichen Datenbankintegration werden Ihre Datenbank und Testdaten jedes Mal neu erstellt, wenn eine Änderung am Versionskontroll-Repository eines Projekts vorgenommen wird.
In der Datenbankintegration werden im Allgemeinen alle Artefakte im Zusammenhang mit der Datenbankintegration -
- Sollte sich in einem Versionskontrollsystem befinden.
- Kann auf Genauigkeit getestet und auf Einhaltung der Richtlinien überprüft werden.
- Kann mit Ihren Build-Skripten generiert werden.
Aktivitäten, die an der kontinuierlichen Datenbankintegration beteiligt sein können, können eine der folgenden sein:
Drop a Database - Löschen Sie die Datenbank und entfernen Sie die zugehörigen Daten, damit Sie eine neue Datenbank mit demselben Namen erstellen können
Create a new Database - Erstellen Sie eine neue Datenbank mit Data Definition Language (DDL).
Insert the Initial Data - Fügen Sie alle Anfangsdaten (z. B. Nachschlagetabellen) ein, die Ihr System bei Lieferung voraussichtlich enthalten wird.
Migrate Database and Data - Migrieren Sie das Datenbankschema und die Daten regelmäßig (wenn Sie ein System basierend auf einer vorhandenen Datenbank erstellen).
Modify Column Attributes - Ändern Sie Tabellenspaltenattribute und -einschränkungen basierend auf Anforderungen und Refactoring.
Modify Test Data - Ändern Sie die Testdaten nach Bedarf für mehrere Umgebungen.
In unserem Beispiel für eine kontinuierliche Datenbank führen wir die folgenden Schritte aus:
Wir werden eine MS SQL Server-Datenbank und eine entsprechende Tabelle erstellen.
Wir werden ein Skript aus SQL Server Management Studio erstellen. Dieses Datenbankskript wird verwendet, um unsere Tabelle in der Datenbank einzurichten.
Wir werden einen Code in unser ASP.Net-Projekt schreiben, um auf diese Datenbank zuzugreifen.
Wir werden in unserem Projekt in TeamCity einen Schritt erstellen, um dieses Skript auszuführen.
Wir werden unser Skript in Git einchecken.
Schritte dazu in der AWS-Datenbank, die in einem früheren Abschnitt erstellt wurde.
Step 1- Erstellen Sie eine MS SQL Server-Datenbank und eine entsprechende Tabelle. Öffnen Sie SQL Server Management Studio und erstellen Sie eine einfache Datenbank und Tabelle. Klicken Sie mit der rechten Maustaste auf Datenbanken und klicken Sie aufNew Database.
Step 2 - Nennen Sie es als Demodb und klicken Sie auf OK
Step 3 - Klicken Sie in der neuen Datenbank mit der rechten Maustaste und erstellen Sie eine neue Tabelle.
Step 4 - Sie können der Tabelle die gewünschten Spalten hinzufügen.
Step 5 - Speichern Sie die Tabelle und benennen Sie sie als Demotb.
Step 6 - Klicken Sie nun mit der rechten Maustaste auf die Tabelle und wählen Sie die Menüoption Script Table as → Drop and Create to → File.
Step 7 - Speichern Sie die Datei im Demo-Projektordner als Sample.sql.
So würde das Datenbankskript aussehen. Es würde zuerst eine vorhandene Tabelle löschen, falls vorhanden, und dann die Tabelle neu erstellen.
USE [Demodb]
GO
/****** Object: Table [dbo].[Demotb] Script Date: 3/22/2016 7:03:25 AM
******
DROP TABLE [dbo].[Demotb]
GO
/****** Object: Table [dbo].[Demotb] Script Date: 3/22/2016 7:03:25 AM
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Demotb](
[TutorialName] [nvarchar](max) NULL,
[TutorialID] [smallint] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Step 8 - Jetzt lasst uns schnell unsere ändern ASP.Net code auf die neue Datenbank verweisen.
Step 9 - In der Tutorial.cs Datei in Ihrem Demo projectFügen Sie die folgenden Codezeilen hinzu. Diese Codezeilen stellen eine Verbindung zu Ihrer Datenbank her, nehmen die Serverversion und speichern den Versionsnamen in der Variablen Name. Wir können diese Namensvariable in unserem anzeigenDemo.aspx.cs Datei durch eine Response.write Befehl.
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
namespace Simple {
public class Tutorial {
public String Name;
public Tutorial() {
string connectionString = "Data Source = WIN-50GP30FGO75;
Initial Catalog = Demodb;
Integrated Security = true;";
using (SqlConnection connection = new SqlConnection()) {
connection.ConnectionString = connectionString;
connection.Open();
Name = connection.ServerVersion;
connection.Close();
}
}
}
}
Step 10 - Fügen Sie dem folgenden Code hinzu Demo.aspx.cs Datei, um sicherzustellen, dass die SQL Server-Version angezeigt wird.
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Simple {
public partial class Demo : System.Web.UI.Page {
Tutorial tp = new Tutorial();
protected void Page_Load(object sender, EventArgs e){
Response.Write(tp.Name);
}
}
}
Wenn wir nun den Code ausführen, erhalten Sie die folgende Ausgabe im Browser.
Step 11- Fügen wir nun unseren Schritt in TeamCity hinzu, der das Datenbankskript aufruft. Gehen Sie zu Ihrem Projekt-Dashboard und klicken Sie aufEdit Configuration Settings.
Step 12 - Gehen Sie zu Build Steps und klicken Sie auf Add build step.
Wählen Sie die folgenden Optionen (Beachten Sie, dass der MS SQL Server-Client auf dem CI-Server installiert sein sollte).
Der Läufertyp sollte die Befehlszeile sein.
Geben Sie einen optionalen Schrittnamen an.
Run sollte mit Parametern ausführbar sein.
Befehl ausführbare Datei sollte sein C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd.exe
Befehlsparameter sollten sein -S WIN-50GP30FGO75 -i Sample.sql. Wobei –S den Namen der SQL Server-Instanz angibt.
Step 13 - Klicken Sie auf Speichern.
Was jetzt sichergestellt werden muss, ist die Baureihenfolge. Sie müssen sicherstellen, dass die Erstellungsreihenfolge wie folgt lautet.
Step 14 - Sie können die Erstellungsreihenfolge ändern, indem Sie die Option zum Neuordnen der Erstellungsschritte auswählen.
Das Datenbank-Setup sollte an erster Stelle stehen. Dies wird also verwendet, um Ihre Datenbank aus dem frischen Zustand neu zu erstellen.
Als nächstes wird Ihre Anwendung erstellt.
Endlich dein Testaufbau.
Step 15 - Führen Sie jetzt die git add und git commit Befehl, damit die Sample.sqlDatei wird in Git eingecheckt. Dies löst automatisch einen Build aus. Und dieser Build sollte bestehen bleiben.
Sie haben jetzt einen vollwertigen Erstellungszyklus mit einem kontinuierlichen Aspekt der Datenbankintegration in Ihrem Zyklus. Lassen Sie uns im nächsten Abschnitt weiter gehen und uns die kontinuierliche Bereitstellung ansehen.
Nachdem Sie dies mit einem lokalen SQL Server getan haben, können wir die gleichen Schritte für a wiederholen AWS MS SQLServer, der in einem der vorherigen Abschnitte erstellt wurde. Um eine Verbindung zu einem Microsoft SQL Server herzustellen, müssen Sie eine Verbindung über die folgende Konvention herstellen.
Step 16- Sehen Sie zuerst, wie Ihre Datenbankinstanz in AWS heißt. Wenn Sie sich bei AWS anmelden, wechseln Sie zum Abschnitt RDS unter dem Abschnitt Datenbank.
Step 17 - Klicken Sie im nächsten Bildschirm auf DB-Instanzen.
step 18- Klicken Sie auf Ihre Datenbank und notieren Sie sich den Endpunkt. Im folgenden Screenshot ist esdemodb.cypphcv1d87e.ap-southeast-1.rds.amazonaws.com:1433
Step 19 - Jetzt verbinden mit der Datenbank von SQL Server Management Studiomüssen Sie die Verbindung als angeben demodb.cypphcv1d87e.ap-southeast-1.rds.amazonaws.com,1433 (Beachten Sie das Komma zwischen Instanzname und Portnummer).
Der folgende Screenshot zeigt eine erfolgreiche Verbindung zur Datenbank.
Dann können Sie dieselben Schritte wiederholen. DasSqlcmd command wird wie folgt sein -
Dieser Befehl kann im Schritt zum Erstellen der Datenbank in TeamCity ersetzt werden. Wenn Sie das ausführensqlcmd commandwird die Tabelle automatisch in Ihrer SQL Server-Datenbank in AWS erstellt.