SlideShare a Scribd company logo
#sqlinthecity

Automated Build and Test
(or continuous integration)
(for your database)

David Atkinson
Product Manager, Red Gate
David.Atkinson@red-gate.com
#sqlinthecity

What will we cover today?

Database build automation:
What, Why, How
Practical Demo
Questions encouraged!
#sqlinthecity

Show of hands:
How agile is your database development?
1. Database objects/scripts aren’t in version control
2. Database objects/scripts are in version control
3. An automated build system exists to build and test
the database
4. An automated release system is used to promote
your database to your environments
#sqlinthecity

How agile is your database development?
1. Database objects/scripts aren’t in version control
2. Database objects/scripts are in version control
3. An automated build system exists to build and test
the database
4. An automated release system is used to promote
your database to your environments
#sqlinthecity

What is continuous integration?
“Continuous Integration is a practice
designed to ensure that your software is always
working, and that you get comprehensive
feedback in a few minutes as to whether any
given change to your system has broken it.”
Jez Humble, ThoughtWorks, author of
“Continuous Delivery”
database

#sqlinthecity

What is continuous integration?
^

“Database Continuous Integration is a
practice designed to ensure that your database
software is always working, and that you get
comprehensive feedback in a few minutes as to
whether any given change to your system has
broken it.”
#sqlinthecity

Database Build Automation
#sqlinthecity

What is build?
• For application code = compile
• For database code = database creation script
– But only for a new installation!
• Upgrade scripts required for existing
installations
– Need to preserve the state of the data
#sqlinthecity

What is test?
• For .NET code, NUnit.
– Runs on a developer’s machine and build
server
• What about the database?
– tSQLt is an open source framework for testing
SQL Server databases
– SQL Test provides SSMS integration
#sqlinthecity

Demo background
Two fictional developers, David and Grant,
are working on the website, www.simpletalk.com, a community website for .NET
and SQL Server developers
The application comprises
• An ASP.Net web application
• A SQL Server database
#sqlinthecity

Demo background
Continuous integration has been configured
to:
1. Keep a test database up to date with the
latest changes
2. Run automated tSQLt tests
(on realistic amounts of data)

3. Generate up-to-date documentation
4. Generate deployment scripts
#sqlinthecity

Demo background
A few improvements are being made to
Simple Talk.
These changes will be deployed to
production.
But… only when the dev team has
demonstrated that the changes work!
#sqlinthecity

Tools used
• TeamCity (CI tool from JetBrains)
• SQL Automation Pack (includes TeamCity plugin)
• Glimpse (open source)

From the SQL Developer Bundle:
•
•
•
•

SQL Source Control
SQL Test (tSQLt unit testing framework)
SQL Data Generator
SQL Doc
#sqlinthecity

Demo
Custom Migration Scripts
An introduction

#sqlinthecity
#sqlinthecity

Generating a deployment script
1

12
#sqlinthecity

How changes are made
create
table

modify
procedure

1

2

3

delete
column

create
trigger

drop
view

4

5

6
#sqlinthecity

How changes are made
create
table

modify
procedure

1

2

modify
trigger

create
function

7

3

drop
procedure

8

4

10

6

5

create
view

modify
function

9

delete
column

create
trigger

drop
view

create
procedure

11

12
#sqlinthecity

How SQL Compare sees the world
1

12
#sqlinthecity

But not all changes can be inferred
1

2

3

5

column
rename

merge table

8

merge column
split column

9

6

add NOT NULL
column without
DEFAULT

table
rename

split table

7

4

10

11

data transformation
data motion

12
#sqlinthecity

SQL Compare and SQL Source Control
support custom migration scripts
1

2

3

4

5

6

11

12

Custom migration script

7

8

9

10
#sqlinthecity

Deployment script with migration
scripts
1

12
#sqlinthecity

1
1’
12
#sqlinthecity

Demo
#sqlinthecity

Recap: database CI
1. Incrementally keeps a test database up to date
2. Runs tSQLt tests on a database with realistic
amounts of data
3. Generates always-up-to-date documentation
4. Generates and validates deployment scripts
5. Publishes a Deployment Manager database
package
#sqlinthecity

Recap of demo: writing a test
1.
2.
3.
4.
5.

A new test is added
Continuous Integration identifies a failure
We reproduce the bug locally
We fix the bug and test it
We commit the fix to source control
#sqlinthecity

Recap: migration scripts
1. The fix sets the [PublishDate] column from NULL to
NOT NULL
2. Grant’s “get latest” fails because existing data that
has NULL values
3. The continuous integration build alerts us of the
same issue
4. A migration script is added to UPDATE existing
data prior to changing the column to NOT NULL
5. Get Latest becomes possible and the continuous
integration build once again indicates working
software
#sqlinthecity

Latest version at :

www.red-gate.com/CI
David.Atkinson@red-gate.com

Questions?
Ad

More Related Content

What's hot (20)

In (database) automation we trust
In (database) automation we trustIn (database) automation we trust
In (database) automation we trust
DBmaestro - Database DevOps
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional test
Harry Zheng
 
Automate Database Deployment - SQL In The City Workshop
Automate Database Deployment - SQL In The City WorkshopAutomate Database Deployment - SQL In The City Workshop
Automate Database Deployment - SQL In The City Workshop
Red Gate Software
 
Why retail companies can't afford database downtime
Why retail companies can't afford database downtimeWhy retail companies can't afford database downtime
Why retail companies can't afford database downtime
DBmaestro - Database DevOps
 
Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014
Red Gate Software
 
Successfully migrating existing databases to Azure
Successfully migrating existing databases to AzureSuccessfully migrating existing databases to Azure
Successfully migrating existing databases to Azure
Red Gate Software
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
Kyle Hailey
 
Best Practices for Database Deployments
Best Practices for Database DeploymentsBest Practices for Database Deployments
Best Practices for Database Deployments
Red Gate Software
 
Continuous Delivery & the Database - the Final Frontier
Continuous Delivery & the Database - the Final FrontierContinuous Delivery & the Database - the Final Frontier
Continuous Delivery & the Database - the Final Frontier
XebiaLabs
 
Continuous Delivery & the Database- The Final Frontier
Continuous Delivery & the Database- The Final FrontierContinuous Delivery & the Database- The Final Frontier
Continuous Delivery & the Database- The Final Frontier
DBmaestro - Database DevOps
 
Challenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous DeliveryChallenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous Delivery
DBmaestro - Database DevOps
 
Chef Delivery
Chef DeliveryChef Delivery
Chef Delivery
Chef
 
Continuous integration sql in the city
Continuous integration sql in the cityContinuous integration sql in the city
Continuous integration sql in the city
Ike Ellis
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
hugo lu
 
Why source control your Oracle Database?
Why source control your Oracle Database?Why source control your Oracle Database?
Why source control your Oracle Database?
Red Gate Software
 
Dynamic bpm design by doing lightning talk
Dynamic bpm design by doing lightning talkDynamic bpm design by doing lightning talk
Dynamic bpm design by doing lightning talk
ITD Systems
 
Scaling Jenkins
Scaling Jenkins Scaling Jenkins
Scaling Jenkins
Udaypal Aarkoti
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
CloudBees
 
The Future of Change Management and DevOps for Dummies
The Future of Change Management and DevOps for DummiesThe Future of Change Management and DevOps for Dummies
The Future of Change Management and DevOps for Dummies
DBmaestro - Database DevOps
 
The Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack WayThe Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack Way
iWeb (group INAP)
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional test
Harry Zheng
 
Automate Database Deployment - SQL In The City Workshop
Automate Database Deployment - SQL In The City WorkshopAutomate Database Deployment - SQL In The City Workshop
Automate Database Deployment - SQL In The City Workshop
Red Gate Software
 
Why retail companies can't afford database downtime
Why retail companies can't afford database downtimeWhy retail companies can't afford database downtime
Why retail companies can't afford database downtime
DBmaestro - Database DevOps
 
Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014
Red Gate Software
 
Successfully migrating existing databases to Azure
Successfully migrating existing databases to AzureSuccessfully migrating existing databases to Azure
Successfully migrating existing databases to Azure
Red Gate Software
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
Kyle Hailey
 
Best Practices for Database Deployments
Best Practices for Database DeploymentsBest Practices for Database Deployments
Best Practices for Database Deployments
Red Gate Software
 
Continuous Delivery & the Database - the Final Frontier
Continuous Delivery & the Database - the Final FrontierContinuous Delivery & the Database - the Final Frontier
Continuous Delivery & the Database - the Final Frontier
XebiaLabs
 
Continuous Delivery & the Database- The Final Frontier
Continuous Delivery & the Database- The Final FrontierContinuous Delivery & the Database- The Final Frontier
Continuous Delivery & the Database- The Final Frontier
DBmaestro - Database DevOps
 
Challenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous DeliveryChallenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous Delivery
DBmaestro - Database DevOps
 
Chef Delivery
Chef DeliveryChef Delivery
Chef Delivery
Chef
 
Continuous integration sql in the city
Continuous integration sql in the cityContinuous integration sql in the city
Continuous integration sql in the city
Ike Ellis
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
hugo lu
 
Why source control your Oracle Database?
Why source control your Oracle Database?Why source control your Oracle Database?
Why source control your Oracle Database?
Red Gate Software
 
Dynamic bpm design by doing lightning talk
Dynamic bpm design by doing lightning talkDynamic bpm design by doing lightning talk
Dynamic bpm design by doing lightning talk
ITD Systems
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
CloudBees
 
The Future of Change Management and DevOps for Dummies
The Future of Change Management and DevOps for DummiesThe Future of Change Management and DevOps for Dummies
The Future of Change Management and DevOps for Dummies
DBmaestro - Database DevOps
 
The Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack WayThe Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack Way
iWeb (group INAP)
 

Viewers also liked (20)

Search Intelligence - Social Media e Search Marketing - Proxxima 2011
Search Intelligence - Social Media e Search Marketing - Proxxima 2011Search Intelligence - Social Media e Search Marketing - Proxxima 2011
Search Intelligence - Social Media e Search Marketing - Proxxima 2011
Leonardo Naressi
 
Guía de análisis de fuentes
Guía de análisis de fuentesGuía de análisis de fuentes
Guía de análisis de fuentes
Sgarcia137
 
Cochrane+
Cochrane+Cochrane+
Cochrane+
librarianhelen
 
Curso: Redes y telecomunicaciones: 06 Protocolo IPv4
Curso: Redes y telecomunicaciones: 06 Protocolo IPv4Curso: Redes y telecomunicaciones: 06 Protocolo IPv4
Curso: Redes y telecomunicaciones: 06 Protocolo IPv4
Jack Daniel Cáceres Meza
 
N tier architecture
N tier architectureN tier architecture
N tier architecture
Nidhi Saurav
 
6ª Manoca do Canto Gaúcho Fase Local
6ª Manoca do Canto Gaúcho Fase Local6ª Manoca do Canto Gaúcho Fase Local
6ª Manoca do Canto Gaúcho Fase Local
manocadocantogaucho
 
Meiosis
MeiosisMeiosis
Meiosis
wendyhilburn
 
Future in focus brazil mar2012 final
Future in focus brazil mar2012 finalFuture in focus brazil mar2012 final
Future in focus brazil mar2012 final
Leonardo Naressi
 
Passeioda8seriefazzendaparkhotel
Passeioda8seriefazzendaparkhotelPasseioda8seriefazzendaparkhotel
Passeioda8seriefazzendaparkhotel
midiasvidal
 
The Cover Letter 2015
The Cover Letter 2015The Cover Letter 2015
The Cover Letter 2015
Kundai Dennis Musuka
 
Presentación de la Consultoría Industrial X efficiency
Presentación de la Consultoría Industrial X efficiency Presentación de la Consultoría Industrial X efficiency
Presentación de la Consultoría Industrial X efficiency
Consultoría Industrial X-efficiency
 
Modelagem e Análise de Dados em PPC - Search Masters Brasil 2013
Modelagem e Análise de Dados em PPC - Search Masters Brasil 2013Modelagem e Análise de Dados em PPC - Search Masters Brasil 2013
Modelagem e Análise de Dados em PPC - Search Masters Brasil 2013
Leonardo Naressi
 
Select brands
Select brandsSelect brands
Select brands
Bronwen Elizabeth Madden
 
Burlando win xp original
Burlando win xp originalBurlando win xp original
Burlando win xp original
Emanuel Francisco
 
Brand story
Brand storyBrand story
Brand story
Ali Hadi
 
Investment Funds Regime in Guernsey 21 July 2016
Investment Funds Regime in Guernsey 21 July 2016Investment Funds Regime in Guernsey 21 July 2016
Investment Funds Regime in Guernsey 21 July 2016
Institute of Chartered Secretaries and Administrators
 
Veritas - resiliency platform
Veritas - resiliency platformVeritas - resiliency platform
Veritas - resiliency platform
Fernando Alves
 
Estudo 15 11 - aspectos importantes da oração bem sucedida
Estudo 15  11 - aspectos importantes da oração bem sucedidaEstudo 15  11 - aspectos importantes da oração bem sucedida
Estudo 15 11 - aspectos importantes da oração bem sucedida
Jaed Gomes
 
Marcas e patentes
Marcas e patentesMarcas e patentes
Marcas e patentes
bruno2m1
 
Maidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan Summit 2011 - Mandira Srivastava, Isha FoundationMaidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan.in
 
Search Intelligence - Social Media e Search Marketing - Proxxima 2011
Search Intelligence - Social Media e Search Marketing - Proxxima 2011Search Intelligence - Social Media e Search Marketing - Proxxima 2011
Search Intelligence - Social Media e Search Marketing - Proxxima 2011
Leonardo Naressi
 
Guía de análisis de fuentes
Guía de análisis de fuentesGuía de análisis de fuentes
Guía de análisis de fuentes
Sgarcia137
 
Curso: Redes y telecomunicaciones: 06 Protocolo IPv4
Curso: Redes y telecomunicaciones: 06 Protocolo IPv4Curso: Redes y telecomunicaciones: 06 Protocolo IPv4
Curso: Redes y telecomunicaciones: 06 Protocolo IPv4
Jack Daniel Cáceres Meza
 
N tier architecture
N tier architectureN tier architecture
N tier architecture
Nidhi Saurav
 
6ª Manoca do Canto Gaúcho Fase Local
6ª Manoca do Canto Gaúcho Fase Local6ª Manoca do Canto Gaúcho Fase Local
6ª Manoca do Canto Gaúcho Fase Local
manocadocantogaucho
 
Future in focus brazil mar2012 final
Future in focus brazil mar2012 finalFuture in focus brazil mar2012 final
Future in focus brazil mar2012 final
Leonardo Naressi
 
Passeioda8seriefazzendaparkhotel
Passeioda8seriefazzendaparkhotelPasseioda8seriefazzendaparkhotel
Passeioda8seriefazzendaparkhotel
midiasvidal
 
Modelagem e Análise de Dados em PPC - Search Masters Brasil 2013
Modelagem e Análise de Dados em PPC - Search Masters Brasil 2013Modelagem e Análise de Dados em PPC - Search Masters Brasil 2013
Modelagem e Análise de Dados em PPC - Search Masters Brasil 2013
Leonardo Naressi
 
Brand story
Brand storyBrand story
Brand story
Ali Hadi
 
Veritas - resiliency platform
Veritas - resiliency platformVeritas - resiliency platform
Veritas - resiliency platform
Fernando Alves
 
Estudo 15 11 - aspectos importantes da oração bem sucedida
Estudo 15  11 - aspectos importantes da oração bem sucedidaEstudo 15  11 - aspectos importantes da oração bem sucedida
Estudo 15 11 - aspectos importantes da oração bem sucedida
Jaed Gomes
 
Marcas e patentes
Marcas e patentesMarcas e patentes
Marcas e patentes
bruno2m1
 
Maidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan Summit 2011 - Mandira Srivastava, Isha FoundationMaidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan Summit 2011 - Mandira Srivastava, Isha Foundation
Maidan.in
 
Ad

Similar to Database automated build and test - SQL In The City Cambridge (20)

Liquibase få kontroll på dina databasförändringar
Liquibase   få kontroll på dina databasförändringarLiquibase   få kontroll på dina databasförändringar
Liquibase få kontroll på dina databasförändringar
Squeed
 
Sql source control
Sql source controlSql source control
Sql source control
AndyPickett
 
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
Serena Software
 
Workshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databasesWorkshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databases
Eduardo Piairo
 
Copy Data Management for the DBA
Copy Data Management for the DBACopy Data Management for the DBA
Copy Data Management for the DBA
Kellyn Pot'Vin-Gorman
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Dr. John Tunnicliffe
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Dr. John Tunnicliffe
 
Database CI/CD Pipeline
Database CI/CD PipelineDatabase CI/CD Pipeline
Database CI/CD Pipeline
muhammadhashir57
 
A data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonA data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madison
Terry Bunio
 
android sqlite
android sqliteandroid sqlite
android sqlite
Deepa Rani
 
Denver SQL Saturday The Next Frontier
Denver SQL Saturday The Next FrontierDenver SQL Saturday The Next Frontier
Denver SQL Saturday The Next Frontier
Kellyn Pot'Vin-Gorman
 
Ow
OwOw
Ow
juanjoaloloco
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance Analysis
DAGEOP LTD
 
Sql saturday oc 2019
Sql saturday oc 2019Sql saturday oc 2019
Sql saturday oc 2019
SitotpalSarkar
 
11 Goals of High Functioning SQL Developers
11 Goals of High Functioning SQL Developers11 Goals of High Functioning SQL Developers
11 Goals of High Functioning SQL Developers
Ike Ellis
 
Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"
Agile Base Camp
 
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
CodeMill digital skills
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
IBM UrbanCode Products
 
DATABASE AUTOMATION with Thousands of database, monitoring and backup
DATABASE AUTOMATION with Thousands of database, monitoring and backupDATABASE AUTOMATION with Thousands of database, monitoring and backup
DATABASE AUTOMATION with Thousands of database, monitoring and backup
Saewoong Lee
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
Lightbend
 
Liquibase få kontroll på dina databasförändringar
Liquibase   få kontroll på dina databasförändringarLiquibase   få kontroll på dina databasförändringar
Liquibase få kontroll på dina databasförändringar
Squeed
 
Sql source control
Sql source controlSql source control
Sql source control
AndyPickett
 
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
Serena Software
 
Workshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databasesWorkshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databases
Eduardo Piairo
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Dr. John Tunnicliffe
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Dr. John Tunnicliffe
 
A data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madisonA data driven etl test framework sqlsat madison
A data driven etl test framework sqlsat madison
Terry Bunio
 
android sqlite
android sqliteandroid sqlite
android sqlite
Deepa Rani
 
Denver SQL Saturday The Next Frontier
Denver SQL Saturday The Next FrontierDenver SQL Saturday The Next Frontier
Denver SQL Saturday The Next Frontier
Kellyn Pot'Vin-Gorman
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance Analysis
DAGEOP LTD
 
11 Goals of High Functioning SQL Developers
11 Goals of High Functioning SQL Developers11 Goals of High Functioning SQL Developers
11 Goals of High Functioning SQL Developers
Ike Ellis
 
Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"Саша Белецкий "Continuous Delivery в продуктовой разработке"
Саша Белецкий "Continuous Delivery в продуктовой разработке"
Agile Base Camp
 
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
Containerisation Hack of a Legacy Software Solution - Alex Carter - CodeMill ...
CodeMill digital skills
 
A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
IBM UrbanCode Products
 
DATABASE AUTOMATION with Thousands of database, monitoring and backup
DATABASE AUTOMATION with Thousands of database, monitoring and backupDATABASE AUTOMATION with Thousands of database, monitoring and backup
DATABASE AUTOMATION with Thousands of database, monitoring and backup
Saewoong Lee
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
Lightbend
 
Ad

More from Red Gate Software (20)

Embracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with FlywayEmbracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with Flyway
Red Gate Software
 
Database DevOps for Managed Service Providers
Database DevOps for Managed Service ProvidersDatabase DevOps for Managed Service Providers
Database DevOps for Managed Service Providers
Red Gate Software
 
Mizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journeyMizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journey
Red Gate Software
 
7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoring7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoring
Red Gate Software
 
Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control
Red Gate Software
 
Key findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops reportKey findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops report
Red Gate Software
 
Extend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server DatabasesExtend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server Databases
Red Gate Software
 
2019 year in review slides
2019 year in review slides2019 year in review slides
2019 year in review slides
Red Gate Software
 
What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019
Red Gate Software
 
Quality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin UniversityQuality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin University
Red Gate Software
 
How SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value fasterHow SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value faster
Red Gate Software
 
DevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve JonesDevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve Jones
Red Gate Software
 
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring ToolThe Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
Red Gate Software
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Red Gate Software
 
Using Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseUsing Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your database
Red Gate Software
 
How to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeHow to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture Change
Red Gate Software
 
Taming the Wild West
Taming the Wild West Taming the Wild West
Taming the Wild West
Red Gate Software
 
Standardize Database Development Across your Organization in 4 Key Steps
Standardize Database Development Across your Organization in 4 Key StepsStandardize Database Development Across your Organization in 4 Key Steps
Standardize Database Development Across your Organization in 4 Key Steps
Red Gate Software
 
Data Privacy Next Steps -Compliant Database DevOps
Data Privacy Next Steps -Compliant Database DevOpsData Privacy Next Steps -Compliant Database DevOps
Data Privacy Next Steps -Compliant Database DevOps
Red Gate Software
 
Easing the transition from shared to dedicated database development
Easing the transition from shared to dedicated database developmentEasing the transition from shared to dedicated database development
Easing the transition from shared to dedicated database development
Red Gate Software
 
Embracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with FlywayEmbracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with Flyway
Red Gate Software
 
Database DevOps for Managed Service Providers
Database DevOps for Managed Service ProvidersDatabase DevOps for Managed Service Providers
Database DevOps for Managed Service Providers
Red Gate Software
 
Mizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journeyMizuho Financial: Launching our Database DevOps journey
Mizuho Financial: Launching our Database DevOps journey
Red Gate Software
 
7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoring7 steps to effective SQL Server monitoring
7 steps to effective SQL Server monitoring
Red Gate Software
 
Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control Level up your deployments for SQL Source Control
Level up your deployments for SQL Source Control
Red Gate Software
 
Key findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops reportKey findings from the 2020 state of database dev ops report
Key findings from the 2020 state of database dev ops report
Red Gate Software
 
Extend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server DatabasesExtend DevOps to Your SQL Server Databases
Extend DevOps to Your SQL Server Databases
Red Gate Software
 
What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019What we learned at PASS Summit in 2019
What we learned at PASS Summit in 2019
Red Gate Software
 
Quality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin UniversityQuality in Software Development: Anglia Ruskin University
Quality in Software Development: Anglia Ruskin University
Red Gate Software
 
How SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value fasterHow SQL Change Automation helps you deliver value faster
How SQL Change Automation helps you deliver value faster
Red Gate Software
 
DevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve JonesDevOps essentials from Abel Wang and Steve Jones
DevOps essentials from Abel Wang and Steve Jones
Red Gate Software
 
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring ToolThe Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
Red Gate Software
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Red Gate Software
 
Using Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your databaseUsing Redgate, AKS and Azure to bring DevOps to your database
Using Redgate, AKS and Azure to bring DevOps to your database
Red Gate Software
 
How to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture ChangeHow to Pitch a Software Development Initiative and Ignite Culture Change
How to Pitch a Software Development Initiative and Ignite Culture Change
Red Gate Software
 
Standardize Database Development Across your Organization in 4 Key Steps
Standardize Database Development Across your Organization in 4 Key StepsStandardize Database Development Across your Organization in 4 Key Steps
Standardize Database Development Across your Organization in 4 Key Steps
Red Gate Software
 
Data Privacy Next Steps -Compliant Database DevOps
Data Privacy Next Steps -Compliant Database DevOpsData Privacy Next Steps -Compliant Database DevOps
Data Privacy Next Steps -Compliant Database DevOps
Red Gate Software
 
Easing the transition from shared to dedicated database development
Easing the transition from shared to dedicated database developmentEasing the transition from shared to dedicated database development
Easing the transition from shared to dedicated database development
Red Gate Software
 

Recently uploaded (20)

May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Developing System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptxDeveloping System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptx
wondimagegndesta
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
AI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamsonAI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamson
UXPA Boston
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptxSmart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Seasia Infotech
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Agentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community MeetupAgentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community Meetup
Manoj Batra (1600 + Connections)
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
Com fer un pla de gestió de dades amb l'eiNa DMP (en anglès)
CSUC - Consorci de Serveis Universitaris de Catalunya
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Developing System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptxDeveloping System Infrastructure Design Plan.pptx
Developing System Infrastructure Design Plan.pptx
wondimagegndesta
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
AI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamsonAI-proof your career by Olivier Vroom and David WIlliamson
AI-proof your career by Olivier Vroom and David WIlliamson
UXPA Boston
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptxSmart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Seasia Infotech
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 

Database automated build and test - SQL In The City Cambridge

  • 1. #sqlinthecity Automated Build and Test (or continuous integration) (for your database) David Atkinson Product Manager, Red Gate David.Atkinson@red-gate.com
  • 2. #sqlinthecity What will we cover today? Database build automation: What, Why, How Practical Demo Questions encouraged!
  • 3. #sqlinthecity Show of hands: How agile is your database development? 1. Database objects/scripts aren’t in version control 2. Database objects/scripts are in version control 3. An automated build system exists to build and test the database 4. An automated release system is used to promote your database to your environments
  • 4. #sqlinthecity How agile is your database development? 1. Database objects/scripts aren’t in version control 2. Database objects/scripts are in version control 3. An automated build system exists to build and test the database 4. An automated release system is used to promote your database to your environments
  • 5. #sqlinthecity What is continuous integration? “Continuous Integration is a practice designed to ensure that your software is always working, and that you get comprehensive feedback in a few minutes as to whether any given change to your system has broken it.” Jez Humble, ThoughtWorks, author of “Continuous Delivery”
  • 6. database #sqlinthecity What is continuous integration? ^ “Database Continuous Integration is a practice designed to ensure that your database software is always working, and that you get comprehensive feedback in a few minutes as to whether any given change to your system has broken it.”
  • 8. #sqlinthecity What is build? • For application code = compile • For database code = database creation script – But only for a new installation! • Upgrade scripts required for existing installations – Need to preserve the state of the data
  • 9. #sqlinthecity What is test? • For .NET code, NUnit. – Runs on a developer’s machine and build server • What about the database? – tSQLt is an open source framework for testing SQL Server databases – SQL Test provides SSMS integration
  • 10. #sqlinthecity Demo background Two fictional developers, David and Grant, are working on the website, www.simpletalk.com, a community website for .NET and SQL Server developers The application comprises • An ASP.Net web application • A SQL Server database
  • 11. #sqlinthecity Demo background Continuous integration has been configured to: 1. Keep a test database up to date with the latest changes 2. Run automated tSQLt tests (on realistic amounts of data) 3. Generate up-to-date documentation 4. Generate deployment scripts
  • 12. #sqlinthecity Demo background A few improvements are being made to Simple Talk. These changes will be deployed to production. But… only when the dev team has demonstrated that the changes work!
  • 13. #sqlinthecity Tools used • TeamCity (CI tool from JetBrains) • SQL Automation Pack (includes TeamCity plugin) • Glimpse (open source) From the SQL Developer Bundle: • • • • SQL Source Control SQL Test (tSQLt unit testing framework) SQL Data Generator SQL Doc
  • 15. Custom Migration Scripts An introduction #sqlinthecity
  • 17. #sqlinthecity How changes are made create table modify procedure 1 2 3 delete column create trigger drop view 4 5 6
  • 18. #sqlinthecity How changes are made create table modify procedure 1 2 modify trigger create function 7 3 drop procedure 8 4 10 6 5 create view modify function 9 delete column create trigger drop view create procedure 11 12
  • 19. #sqlinthecity How SQL Compare sees the world 1 12
  • 20. #sqlinthecity But not all changes can be inferred 1 2 3 5 column rename merge table 8 merge column split column 9 6 add NOT NULL column without DEFAULT table rename split table 7 4 10 11 data transformation data motion 12
  • 21. #sqlinthecity SQL Compare and SQL Source Control support custom migration scripts 1 2 3 4 5 6 11 12 Custom migration script 7 8 9 10
  • 22. #sqlinthecity Deployment script with migration scripts 1 12
  • 25. #sqlinthecity Recap: database CI 1. Incrementally keeps a test database up to date 2. Runs tSQLt tests on a database with realistic amounts of data 3. Generates always-up-to-date documentation 4. Generates and validates deployment scripts 5. Publishes a Deployment Manager database package
  • 26. #sqlinthecity Recap of demo: writing a test 1. 2. 3. 4. 5. A new test is added Continuous Integration identifies a failure We reproduce the bug locally We fix the bug and test it We commit the fix to source control
  • 27. #sqlinthecity Recap: migration scripts 1. The fix sets the [PublishDate] column from NULL to NOT NULL 2. Grant’s “get latest” fails because existing data that has NULL values 3. The continuous integration build alerts us of the same issue 4. A migration script is added to UPDATE existing data prior to changing the column to NOT NULL 5. Get Latest becomes possible and the continuous integration build once again indicates working software
  • 28. #sqlinthecity Latest version at : www.red-gate.com/CI David.Atkinson@red-gate.com Questions?

Editor's Notes

  • #4: Self-categorize
  • #8: CI server is set up by one person and the whole team of developers benefits.
  • #9: The testing of deployment scripts is customarily left to the end. => Issues with upgrades only found at the end of a project.
  • #10: Although CI catches issues that arise when developers have failed run tests locally, also solving a different problem:- Two incompatible changes committed by different developers- “Works on my machine” in development.Issues that only arise in more realistic integration environments.
  • #14: Show of hands for SQL Developer Bundle.TeamCity is used at Red Gate but *any* build server can be used, eg:Jenkins, Hudson, TFS Build, CruiseControl, Bamboo, etc.There is a sqlci.exe command line, and NAnt and MSBuild template wrappers available.
  翻译: