publishing database changes sql server using microsoft tfs
Denne veiledningen forklarer hvordan du oppretter SQL Server-databaseprosjekt i TFS, og deler prosjekt til Microsoft TFS Repository i detalj:
I veiledningene i DevOps-serien publisert @ DevOps-veiledning , har vi studert om kontinuerlig integrering og kontinuerlig leveringsautomatisering for Java og .Net for lokal og skyutrulling av applikasjonene.
Verktøyene vi har dekket inkluderer Microsoft VSTS med Azure, Amazon Web Services og Ansible. Serien konsentrerte seg om kildekodeendringer og hvor effektivt den raskt ble distribuert til forskjellige miljøer. Men når vi snakker om en hvilken som helst 3-lags applikasjonsutvikling, vil databasen også være involvert, og vi må bruke de samme teknikkene på databaserelaterte endringer.
Hva du vil lære:
Microsoft Team Foundation Server 2015 og SQL Server 2014
Denne artikkelen vil fokusere på områder som bruk av Visual Studio 2015 for utvikling, opprettelse av SQL Server Database Project som inneholder databasedefinisjon, oppretting av en build-definisjon for å publisere endringene til SQL Server, etc ved hjelp av Microsoft Team Foundation Server 2015 og SQL server 2014.
Så til slutt må vi administrere databaseskript også og endringene effektivt.
Lag SQL Server Database Project i TFS
La oss starte med å lage databaseprosjektet i Visual Studio. Start Visual Studio 2015 og opprett databaseprosjektet som vist på bildet nedenfor ved hjelp av Fil-> Ny -> Prosjekt . Skriv inn et navn og klikk på OK.
Legg til en ny mappe og gi den navnet Tabeller. Denne mappen inneholder alle våre SQL-filer. Høyreklikk på prosjektet og velg Legg til-> Ny mappe.
Mappen som er opprettet vises i Solution Explorer. Legg til en ny tabell her og definer kolonner etter behov.
Høyreklikk på tabellens mappe og velg Legg til-> Tabell som vist på bildet nedenfor.
Tast inn Navn som Ansatt med alternativet Tabell valgt. Klikk på Legg til.
Legg til noen få kolonner som vist i designvisningen.
I tilfelle du har eksisterende SQL-filer, kan den også importeres ved å høyreklikke på databaseprosjektet og velge Importer skript (* .SQL)
På samme måte, Legg til -> Lagret prosedyre i en mappe som vist nedenfor.
binært søketre c ++ implementering
Den endelige strukturen som vist i databaseprosjektet vil se ut som under bildet.
Så, normalt for hver utgivelse og som utvikler, vil vi gjøre endringer i tabellene eller lagrede prosedyrer, og Visual Studio vil sørge for at skriptene blir endret riktig for å sikre at databaseendringene er synkronisert med skriptene. Vi må publisere disse endringene eller kontinuerlig distribuere endringene på en automatisk måte i SQL Server-databasen.
For å gjøre dette, publiser profilfilen som er en XML-fil, og den inneholder all informasjon som databasenavn, tilkoblingsstreng osv. Som er nødvendig for å distribuere til SQL Server.
Når XML-filen er tilgjengelig, vil vi deretter bruke Microsoft TFS build-definisjonen til å publisere endringene automatisk i SQL Server-databasen, enten basert på hver innsjekking eller etter en tidsplan.
vanlige spørsmål om c ++ intervjuer
I SQL Server-installasjonen har vi opprettet en tom database, for eksempel, Ansatt som vi skal bruke for Publish.
Opprett nå publiseringsprofilfilen ved hjelp av Visual Studio. Høyreklikk på databaseprosjektet og velg Publisere.
Rediger og velg forbindelsen til medarbeiderdatabasen i SQL Server.
Klikk på knappen Lagre profil som for å lagre profilen i prosjektet. Du kan se en fil med navnet Ansatt.publiser.xml er skapt. Du kan også distribuere endringene manuelt ved å klikke på Publiser-knappen, men her skal vi automatisere endringene som skal publiseres.
Velg Avbryt etter at profilen er lagret.
Åpne filen i en XML-editor, og du kan se databasen og tilkoblingsstrengene. Legg til en nøkkel manuelt for Passord og nevn passordet for den oppgitte bruker-ID-en. Dette er nødvendig for tilkobling til SQL Server-databasen.
Siden passordet er lett tilgjengelig, vil vi se hvordan du kan maskere det samme i build-definisjonen ved hjelp av Erstatt token-plugin.
True Employee Employee.sql Data Source=l-0310;Persist Security Info=False;User ID=sa; Password=;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True 1
Sørg også for å velge riktig versjon av SQL Server som skal brukes til dette databaseprosjektet, ellers vil de publiserte dataene ha feil. Høyreklikk på databaseprosjektet (Ansatt) og velg Eiendommer . Velg riktig versjon, og i dette tilfellet er det 2014-versjonen. Lagre (Ctrl + S) endringene når de er gjort.
Velg SQL Server 2014 som målplattform og lagre løsningen.
For å bruke prosjektet i en TFS Build Definition, må vi dele prosjektet med TFS-depotet. Høyreklikk på løsningen og velg Legg til løsning i kildekontroll. Gå til Team Explorer -> Ventende endringer og Innsjekking løsningen.
Prosjektet skal nå være tilgjengelig i TFS.
Lag Build Definition for å automatisere publisering
Vi har nå databaseprosjektet sjekket inn til TFS, og alle endringer som ble gjort av utvikleren til tabellen eller lagrede prosedyrer vil bli publisert automatisk til SQL Server uten manuell inngripen ved hjelp av Build Definition, hverken ved hver innsjekking eller basert på en tidsplan. .
Først må du endre publiser XML-filen for å legge til et token for passordnøkkelen som vist nedenfor. Sjekk inn eventuelle endringer som er gjort.
True Employee Employee.sql Data Source=l-0310;Persist Security Info=False;User ID=sa;Password=#{DBPWD}#;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True 1
I TFS går du til Build HUB og oppretter en Tom Build-definisjon.
I Build Definition legger du først til Bytt ut Tokens-trinn og konfigurer som vist på bildet nedenfor, siden passordvariabelen må maskeres. I tilfelle du trenger å laste ned programtillegget for Erstatt tokens, kan du laste ned og installere det samme for Microsoft TFS 2015 fra GitHub-erstatt tokens
Gå til fanen Variabler og legg til variabelen som i publiser XML-filen, dvs. DBPWD med en verdi av passordet for til bruker-ID. Klikk på låse ikonet og velg avkrysningsruten for Tillat i køtid. Lagre definisjonen.
Deretter legger du til et Visual Studio-trinn. Velg Visual Studio-løsning og skriv inn MS Build Argumenter som vist på bildet nedenfor for å bygge og publisere endringene.
/ t: build / t: publish /p:SqlPublishProfilePath=Employee.publish.xml
Kø eller utløs byggingen og se etter endringer publisert i SQL Server. For Build-prosessen vil det være behov for en agent for å kjøre på maskinen der SQL Server er installert.
Anbefalt lesing om installering og konfigurering av agenter for Microsoft TFS 2015 @ Microsoft-TFS-2015
Åpne SQL Server 2014 Management Studio, høyreklikk på databasen, kjør et spørsmål i databasen og se etter endringene som blir publisert etter bygningen som har kjørt.
Som vi kan se at for første gang blir tabellene og lagrede prosedyrer publisert gjennom en automatisert byggeprosess i TFS. For å vise frem kontinuerlig integrering og automatisert publiseringsprosess i databasen, la oss gjøre en endring i tabellen og kjøre bygningen på nytt.
I tabellen har vi lagt til en kolonne til.
Sett bygningen i kø igjen og sjekk om endringene er publisert eller ikke. Kolonnen Land er nå lagt til tabellen. Se bildet nedenfor.
I tilfelle du vil se på databasen, tabellene osv. Fra selve Visual Studio, gå til Vis-> SQL Server Object Explorer for å bla gjennom databasen som har SQL Server som hierarki.
konvertere youtube til wav-fil gratis
Konklusjon
Vi har sett en enkel, men kraftig løsning for kontinuerlig å publisere databaseendringer på SQL Server ved hjelp av Microsoft TFS 2015 ved hver innsjekking eller basert på planen for byggingen. Alle tabellene eller lagrede prosedyrer eller visninger legges til eller oppdateres basert på disse endringene, og Visual Studio oppretter eller endrer SQL-skriptene tilsvarende.
Så i et nøtteskall har det blitt enkelt å administrere store databaser og publisere endringene ved hjelp av Visual Studio Database Projects og Microsoft Team Foundation Server.
Anbefalt lesing
- TFS-veiledning: TFS for automatisering av bygg, test og implementering for .NET-prosjekter
- Hvordan bruke Microsoft TFS for JAVA-prosjekter med formørkelse i DevOps
- Agil planlegging med Microsoft Team Foundation Server (TFS)
- Oracle Database Application Development: Oracle SQL & PL / SQL
- Oracle Database Tutorial - Hva er Oracle Database?
- MySQL Create Database - Hvordan lage en database i MySQL
- MongoDB Opprette databaseopplæring
- Forskjellen mellom SQL Vs MySQL Vs SQL Server (med eksempler)