Integrasi Berkelanjutan - Database

Continuous Database Integration adalah proses membangun kembali database Anda dan menguji data setiap kali ada perubahan yang diterapkan ke repositori kontrol versi proyek.

Dalam Integrasi Database, umumnya semua artefak yang terkait dengan integrasi database -

  • Harus berada dalam sistem kontrol versi.
  • Dapat diuji ketelitiannya dan diinspeksi untuk kepatuhan kebijakan.
  • Dapat dibuat menggunakan skrip build Anda.

Aktivitas yang dapat dilibatkan dalam Continuous Database Integration dapat berupa salah satu dari berikut ini -

Drop a Database - Jatuhkan database dan hapus data terkait, sehingga Anda dapat membuat database baru dengan nama yang sama

Create a new Database - Buat database baru menggunakan Data Definition Language (DDL).

Insert the Initial Data - Masukkan data awal apa pun (mis., Tabel pemeta) yang diharapkan ada di sistem Anda saat dikirim.

Migrate Database and Data - Migrasikan skema database dan data secara berkala (jika Anda membuat sistem berdasarkan database yang sudah ada).

Modify Column Attributes - Memodifikasi atribut kolom tabel dan batasan berdasarkan persyaratan dan pemfaktoran ulang.

Modify Test Data - Ubah data uji sesuai kebutuhan untuk beberapa lingkungan.

Jadi dalam contoh Continuous Database kami, kami akan melakukan langkah-langkah berikut -

  • Kami akan membuat database MS SQL Server dan tabel yang sesuai.

  • Kami akan membuat skrip dari SQL Server Management Studio. Script database ini akan digunakan untuk mengatur tabel kita di database.

  • Kami akan menulis kode di proyek ASP.Net kami untuk mengakses database ini.

  • Kami akan membuat langkah dalam proyek kami di TeamCity untuk menjalankan skrip ini.

  • Kami akan memeriksa skrip kami ke Git.

Langkah-langkah untuk melakukan ini di database AWS yang dibuat di bagian sebelumnya.

Step 1- Membuat database MS SQL Server dan tabel yang sesuai. Mari buka SQL Server Management Studio dan buat database dan tabel sederhana. Database klik kanan dan klikNew Database.

Step 2 - Beri nama sebagai Demodb dan klik OK

Step 3 - Di database baru, klik kanan dan buat tabel baru.

Step 4 - Anda dapat menambahkan kolom yang Anda inginkan ke tabel.

Step 5 - Simpan tabel dan beri nama sebagai Demotb.

Step 6 - Sekarang klik kanan pada tabel dan pilih opsi menu Script Table as → Drop and Create to → File.

Step 7 - Simpan file ke folder proyek demo sebagai Sample.sql.

Seperti inilah tampilan skrip database. Ini pertama-tama akan menjatuhkan tabel yang ada jika ada dan kemudian membuat kembali tabel tersebut.

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 - Sekarang mari cepat ganti ASP.Net code untuk merujuk ke database baru.

Step 9 - Di Tutorial.cs file di Demo project, tambahkan baris kode berikut. Baris kode ini akan terhubung ke database Anda, mengambil versi Server dan menyimpan nama versi di variabel Name. Kita dapat menampilkan variabel Nama ini di fileDemo.aspx.cs mengajukan melalui a Response.write perintah.

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 - Tambahkan kode berikut ke Demo.aspx.cs file untuk memastikan bahwa ini menampilkan versi SQL Server.

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);
      }
   }
}

Sekarang jika kita menjalankan kodenya, Anda akan mendapatkan output berikut di browser.

Step 11- Sekarang mari kita tambahkan langkah kita di TeamCity yang akan memanggil skrip database. Buka dasbor proyek Anda dan klikEdit Configuration Settings.

Step 12 - Pergi ke Build Steps dan klik Add build step.

Pilih opsi berikut (Perhatikan bahwa klien MS SQL Server harus diinstal di CI Server).

  • Jenis runner haruslah Command Line.

  • Berikan Nama Langkah opsional.

  • Proses harus dapat dijalankan dengan parameter.

  • Perintah yang dapat dieksekusi harus C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd.exe

  • Parameter perintah harus -S WIN-50GP30FGO75 -i Sample.sql. Dimana –S memberikan nama contoh SQL Server.

Step 13 - Klik Simpan.

Sekarang yang perlu dipastikan adalah urutan build. Anda harus memastikan urutan build adalah sebagai berikut.

Step 14 - Anda dapat mengubah urutan build dengan memilih opsi untuk menyusun ulang langkah-langkah build.

  • Penyiapan database harus yang pertama - Jadi ini akan digunakan untuk membuat ulang database Anda dari yang baru.

  • Berikutnya adalah membangun aplikasi Anda.

  • Akhirnya pengaturan pengujian Anda.

Step 15 - Sekarang jalankan git add dan git commit perintah sehingga Sample.sqlfile diperiksa ke Git. Ini akan memicu build secara otomatis. Dan bangunan ini harus lulus.

Anda sekarang memiliki siklus build lengkap dengan aspek integrasi database berkelanjutan juga dalam siklus Anda. Di bagian selanjutnya, mari kita bahas lebih jauh dan lihat Deployment Berkelanjutan.

Sekarang setelah Anda melakukan ini dengan SQL Server lokal, kita dapat mengulangi langkah yang sama untuk file AWS MS SQLServer yang dibuat di salah satu bagian sebelumnya. Untuk menyambung ke Microsoft SQL Server, Anda harus menyambungkan melalui konvensi berikut.

Step 16- Pertama, lihat apa nama yang ditetapkan ke instans database Anda di AWS. Saat Anda masuk ke AWS, buka bagian RDS di bawah bagian database.

Step 17 - Klik Instans DB di layar berikutnya yang muncul.

step 18- Klik pada database Anda dan catat titik akhirnya. Pada tangkapan layar berikut, itudemodb.cypphcv1d87e.ap-southeast-1.rds.amazonaws.com:1433

Step 19 - Sekarang untuk menyambung ke database dari SQL Server Management Studio, Anda perlu menentukan koneksi sebagai demodb.cypphcv1d87e.ap-southeast-1.rds.amazonaws.com,1433 (Perhatikan koma yang digunakan antara nama instance dan nomor port).

Tangkapan layar berikut menunjukkan koneksi yang berhasil ke database.

Kemudian Anda dapat mengulangi semua langkah yang sama. ItuSqlcmd command akan menjadi sebagai berikut -

Perintah yang sama ini dapat diganti di langkah pembuatan Database di TeamCity. Saat Anda menjalankan filesqlcmd command, tabel akan dibuat secara otomatis di database SQL Server Anda di AWS.