publishing database changes sql server using microsoft tfs
Denna handledning förklarar hur man skapar SQL Server-databasprojekt i TFS och delar projekt till Microsoft TFS-databas i detalj:
programvaruingenjör i frågor om testintervjuer
I DevOps-serien självstudier publicerade @ DevOps handledning , vi har studerat om kontinuerlig integration och kontinuerlig leveransautomation för Java och .Net för lokal och molndistribution av applikationerna.
Verktygen som vi har täckt inkluderar Microsoft VSTS med Azure, Amazon Web Services och Ansible. Serien koncentrerade sig på källkodsändringar och hur effektivt den snabbt distribuerades till olika miljöer. Men när vi pratar om någon 3-stegsutveckling av applikationer skulle databasen också vara involverad och vi kommer att behöva tillämpa samma tekniker för databasrelaterade ändringar.
Vad du kommer att lära dig:
Microsoft Team Foundation Server 2015 och SQL Server 2014
Den här artikeln kommer att fokusera på områden som användningen av Visual Studio 2015 för utveckling, skapande av SQL Server-databasprojekt som innehåller databasdefinition, skapande av en byggdefinition för att publicera ändringarna till SQL Server, etc med hjälp av Microsoft Team Foundation Server 2015 och SQL server 2014.
Så småningom måste vi hantera databasskript också och dess ändringar effektivt.
Skapa SQL Server-databasprojekt i TFS
Låt oss börja med att skapa databasprojektet i Visual Studio. Starta Visual Studio 2015 och skapa databasprojektet som visas i bilden nedan med Arkiv-> Nytt -> Projekt . Ange ett namn och klicka på OK.
Lägg till en ny mapp och ge den namnet Tabeller. Den här mappen innehåller alla våra SQL-filer. Högerklicka på projektet och välj Lägg till-> Ny mapp.
Den skapade mappen visas i Solution Explorer. Lägg till en ny tabell här och definiera kolumner efter behov.
Högerklicka på tabellens mapp och välj Lägg till-> Tabell som visas i bilden nedan.
Stiga på namn som Anställd med alternativet Tabell valt. Klicka på Lägg till.
Lägg till några kolumner som visas i designvyn.
Om du har befintliga SQL-filer kan den också importeras genom att högerklicka på databasprojektet och välja Importera skript (* .SQL)
Liknande, Lägg till -> Lagrad procedur i en mapp som visas nedan.
Den slutliga strukturen som visas i databasprojektet ser ut som bilden nedan.
Så, normalt för varje version och som utvecklare, kommer vi att göra ändringar i tabellerna eller lagrade procedurer och Visual Studio kommer att se till att skripten ändras ordentligt för att säkerställa att databasändringar är synkroniserade med skripten. Vi måste publicera dessa ändringar eller kontinuerligt distribuera ändringarna på ett automatiserat sätt till SQL Server-databasen.
För att göra detta, publicera profilfilen som är en XML-fil och den innehåller all information som databasnamn, anslutningssträng etc. som behövs för att distribuera till SQL Server.
När XML-filen är tillgänglig kommer vi sedan använda Microsoft TFS-byggdefinitionen för att publicera ändringarna automatiskt i SQL Server-databasen antingen baserat på varje incheckning eller enligt ett schema.
I SQL Server-installationen har vi skapat en tom databas, till exempel, Anställd som vi kommer att använda för Publish.
Skapa nu publiceringsprofilfilen med Visual Studio. Högerklicka på databasprojektet och välj Publicera.
Internet of Things företag att titta på
Redigera och välj anslutningen till medarbetardatabasen i SQL Server.
Klicka på knappen Spara profil som för att spara profilen i projektet. Du kan se en fil med namnet Anställd.publish.xml är skapad. Du kan också distribuera ändringarna manuellt genom att klicka på knappen Publicera men här kommer vi att automatisera ändringarna som ska publiceras.
Välj Avbryt efter att profilen har sparats.
Öppna filen i en XML-redigerare så kan du se databasen och anslutningssträngarna. Lägg till en nyckel manuellt för lösenord och ange lösenordet för det angivna användar-ID. Detta behövs för anslutning till SQL Server-databasen.
Eftersom lösenordet kan nås enkelt kommer vi att se hur man maskerar detsamma i build-definitionen med plugin-programmet Ersätt Token.
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
Se också till att välja rätt version av SQL Server som ska användas för detta databasprojekt, annars kommer publicerade data att ha fel. Högerklicka på databasprojektet (Anställd) och välj Egenskaper . Välj lämplig version och i det här fallet är det 2014-versionen. Spara (Ctrl + S) ändringarna när de är klara.
Välj SQL Server 2014 som målplattform och spara lösningen.
För att använda projektet i en TFS-byggdefinition måste vi dela projektet med TFS-arkivet. Högerklicka på lösningen och välj Lägg till lösning i källkontrollen. Gå till Team Explorer -> Väntande ändringar och Checka in lösningen.
Projektet ska nu vara tillgängligt i TFS.
Skapa Build Definition för att automatisera publicering
Vi har nu checkat in databasprojektet till TFS och varje ändring som gjorts av utvecklaren till tabellen eller lagrade procedurer kommer att publiceras automatiskt till SQL Server utan någon manuell intervention med hjälp av Build Definition, antingen vid varje incheckning eller baserat på ett schema .
hur kör jag en .jar-fil
Ändra först publicera XML-filen för att lägga till en token för lösenordsnyckeln som visas nedan. Kontrollera eventuella ändringar.
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 till Build HUB och skapar en Tom Build-definition.
Lägg först till i Build Definition Ersätt Tokens-steg och konfigurera som visas i bilden nedan, eftersom lösenordsvariabeln måste maskeras. Om du behöver ladda ner plugin för Replace Tokens kan du ladda ner och installera detsamma för Microsoft TFS 2015 från GitHub-ersätt tokens
Gå till fliken Variabler och lägg till variabeln som i publicera XML-filen, dvs DBPWD med ett värde på lösenordet för till användar ID. Klicka på låsa och markera kryssrutan för Tillåt vid kötid. Spara byggdefinitionen.
Lägg sedan till ett steg för Visual Studio-byggnad. Välj Visual Studio-lösning och ange MS Build Arguments som visas i bilden nedan för att bygga och publicera ändringarna.
/ t: build / t: publish /p:SqlPublishProfilePath=Employee.publish.xml
Kö eller utlösa byggnaden och kontrollera om ändringar har publicerats i SQL Server. För byggprocessen behövs en agent för att köra på maskinen där SQL Server är installerad.
Rekommenderad läsning om installation och konfigurering av agenter för Microsoft TFS 2015 @ Microsoft-TFS-2015
Öppna SQL Server 2014 Management Studio, högerklicka på databasen, kör en fråga i databasen och leta efter de ändringar som publiceras efter den build som har körts.
Som vi kan se att för första gången publiceras tabeller och lagrade procedurer genom en automatiserad byggprocess i TFS. För att visa den kontinuerliga integrations- och automatiserade publiceringsprocessen i databasen, låt oss göra en ändring i tabellen och köra byggningen igen.
I tabellen har vi lagt till ytterligare en kolumn.
Kö build igen och kontrollera om ändringar har publicerats med framgång eller inte. Kolumnen Land läggs nu till i tabellen. Se bilden nedan.
Om du vill titta på databasen, tabellerna etc. från Visual Studio går du till Visa-> SQL Server Object Explorer för att bläddra i databasen som har SQL Server-liknande hierarki.
Slutsats
Vi har sett en enkel men kraftfull lösning för att kontinuerligt publicera databasändringar på SQL Server med Microsoft TFS 2015 vid varje incheckning eller baserat på schemat för byggnaden. Alla tabeller eller lagrade procedurer eller vyer läggs till eller uppdateras baserat på dessa ändringar och Visual Studio skapar eller ändrar SQL-skripten i enlighet därmed.
Så i nötskal har hantering av stora databaser och publicering av ändringarna blivit lätt med hjälp av Visual Studio Database Projects och Microsoft Team Foundation Server.
Rekommenderad läsning
- TFS-handledning: TFS för att automatisera bygga, testa och distribuera för .NET-projekt
- Hur man använder Microsoft TFS för JAVA-projekt med Eclipse i DevOps
- Agil planering med Microsoft Team Foundation Server (TFS)
- Oracle Database Application Development: Oracle SQL & PL / SQL
- Oracle Database Tutorial - Vad är Oracle Database?
- MySQL Skapa databas - Hur man skapar en databas i MySQL
- MongoDB Skapa databashandledning
- Skillnad mellan SQL Vs MySQL Vs SQL Server (med exempel)