Continuous Integration con SQL Server. Come automatizzare i processi di build e di test su database SQL Server. Come includere SQL Server nei processi di Application Lifecycle Management (Database Lifecycle Management).
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...Alessandro Alpi
In questa serie di slide vedremo come creare i build step su Visual Studio Team Services sfruttando gli add-on forniti da Red Gate, come DLM Automation 2: Build.
PASS Virtual Chapter - SQL Server Continuous IntegrationAlessandro Alpi
Build automatizzate, esecuzione di unit test, creazione di un pacchetto nuget, ecco cosa serve per essere pronti con SQL Server e la continuous integration
PASS Virtual Chapter - Unit Testing su SQL ServerAlessandro Alpi
Con quanto segue andremo ad approfondire il concetto di unit test e, nella fattispecie, del testing tramite il framework free tSQLt, utilizzando t-sql e SQL Server Management Studio.
Tdd e continuous delivery sull'infrastrutturaCodemotion
by Filippo Liverani - Grazie al fatto che molti dei valori e dei principi del movimento DevOps sono in comune con quelli di Extreme Programming, negli ultimi siamo riusciti ad applicare anche molte dellle pratiche in un contesto più ampio di quello nel quale erano state concepite. In questa sessione mi piacerebbe condividere il percorso che ho seguito per sviluppare una nuova infrastruttura in TDD e per arrivare ad un processo automatico in grado di deployare in produzione tutti i cambiamenti con un click.
Grazie al fatto che molti dei valori e dei principi del movimento DevOps sono in comune con quelli di Extreme Programming, negli ultimi siamo riusciti ad applicare anche molte dellle pratiche in un contesto più ampio di quello nel quale erano state concepite. In questa sessione mi piacerebbe condividere il percorso che ho seguito per sviluppare una nuova infrastruttura in TDD e per arrivare ad un processo automatico in grado di deployare in produzione tutti i cambiamenti con un click.
SQL Server 2016 porterà tantissime novità, tra cui, per quanto riguarda la programmabilità, il supporto al formato JSON. vedremo com'è possibile serializzare i risultati delle nostre query tramite la clausola FOR JSON, inclusa negli ultimi rilasci della piattaforma.
Slideshare is a website that allows users to upload and share business and educational documents, presentations, and media. It provides teachers with an easy and engaging way to explain, develop, and evaluate academic activities by using features like uploading lecture backdrops, book reports, and sharing learning materials. As an educational tool that utilizes new technologies, Slideshare is important for improving the quality and reach of education.
#DOAW16 - DevOps@work Roma 2016 - Testing your databasesAlessandro Alpi
In these slides we will speak about how to unit test our programmability in SQL Server and how to move from a manual process to an automated one in order to achieve the goals of DevOps
#DOAW16 - DevOps@work Roma 2016 - Databases under source controlAlessandro Alpi
This document discusses putting databases under source control as part of a DevOps workflow. It begins with defining DevOps and its goals of collaboration, automation, and rapid software delivery. It then discusses using a source control manager and continuous integration practices for databases. This allows development teams to work on database code in separate environments, track changes, automate testing and deployment, and maintain different versions of the database. The document recommends tools like SQL Source Control and Visual Studio Team Services and argues that source control can help development and operations teams work together more efficiently on database changes and releases.
2 67-1379416025-9. automation nad virtual.fullKier Francisco
This document describes the automation and virtual simulation of a laboratory-based mini thermal power plant. The researchers automated the plant by replacing manually operated valves with motorized valves and adding sensors to measure parameters like liquid level, pressure, and temperature. A virtual simulation model of the entire automated system was created using LabVIEW to allow remote monitoring and control. The automation and virtual simulation improve the efficiency and operation of the mini power plant and provide an educational tool for students to learn about power plant systems.
Rosalyn Coleman Williams is an accomplished actor, director, and educator. She has over 30 years of experience teaching acting at prestigious institutions and coaching on film and television sets. As a director, her films have won several awards at film festivals. As an actor, she has performed on Broadway and in films with stars like Halle Berry and Tom Cruise. She runs her own production company, Red Wall Productions, with her husband and continues to teach the next generation of artists through her online programs and workshops.
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source controlAlessandro Alpi
We are used to see our code under source control. What about our databases? This topic is too often underestimated. Keeping database under our control (source controlled) brings many advantages in terms of organization and quality. The distributed work become rock solid and Continuous integration is simpler to implement. In addition, we can take many advantages from testing, automated deployment and all the stuff that brings the agile methodology available to the team. We will compare also third party tools in order to understand the differences between different vendors.
The document discusses how technology can be used to engage with and interpret history. It mentions Archana Saad Akhtar as the Programme Officer for Design and Outreach at the Aga Khan Trust for Culture in New Delhi. The Trust uses technology in exhibitions, signage, and publications to inform people about history.
Fredy Alexander Saavedra discusses five trends in higher education that are important for developing quality in the 21st century university. These trends include: autonomy, democracy, quality, comprehensive education, and the emergence of the virtual university. Autonomy allows universities to improve educational processes. Democracy means providing quality education for all students and teachers. Quality education forms citizens who can participate in decision making. Comprehensive education stimulates students' emotional, social, and ethical skills. The virtual university is a challenge that requires redefining the current concept of college education.
I. O documento discute as formas de relevo da Terra resultantes das forças endógenas e exógenas e a classificação do relevo brasileiro proposta por Aziz Ab'Sáber. II. A alternativa correta é a III e IV, que afirma que a classificação foi proposta por Aroldo de Azevedo com base nos estudos de Aziz Ab'Sáber e do Projeto Radambrasil.
El documento contiene una serie de siglas y abreviaturas sin contexto que no proporcionan información comprensible. No es posible resumir el contenido de este documento de manera significativa en 3 oraciones o menos.
PASS Virtual Chapter - SQL Server Continuous DeploymentAlessandro Alpi
Dopo aver visto come effettuare la continuous integration terminiamo il ciclo di vita del nostro database effettuandone il deploy, includendo concetti come DevOps e automazione dei processi
O documento apresenta um trecho da Carta da Terra, que defende a sustentabilidade ambiental e o respeito aos direitos humanos. Em seguida, discute o conceito de desenvolvimento sustentável e importantes conferências sobre o meio ambiente realizadas ao longo dos anos.
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...Alessandro Alpi
We are used to see our code under source control. What about our databases? This topic is too often underestimated. Keeping database under our control (source controlled) brings many advantages in terms of organization and quality. The distributed work become rock solid and Continuous integration is simpler to implement. In addition, we can take many advantages from testing, automated deployment and all the stuff that brings the agile methodology available to the team. We will compare also third party tools in order to understand the differences between different vendors.
SQL Server 2016 porterà tantissime novità, tra cui, per quanto riguarda la programmabilità, il supporto al formato JSON. vedremo com'è possibile serializzare i risultati delle nostre query tramite la clausola FOR JSON, inclusa negli ultimi rilasci della piattaforma.
Slideshare is a website that allows users to upload and share business and educational documents, presentations, and media. It provides teachers with an easy and engaging way to explain, develop, and evaluate academic activities by using features like uploading lecture backdrops, book reports, and sharing learning materials. As an educational tool that utilizes new technologies, Slideshare is important for improving the quality and reach of education.
#DOAW16 - DevOps@work Roma 2016 - Testing your databasesAlessandro Alpi
In these slides we will speak about how to unit test our programmability in SQL Server and how to move from a manual process to an automated one in order to achieve the goals of DevOps
#DOAW16 - DevOps@work Roma 2016 - Databases under source controlAlessandro Alpi
This document discusses putting databases under source control as part of a DevOps workflow. It begins with defining DevOps and its goals of collaboration, automation, and rapid software delivery. It then discusses using a source control manager and continuous integration practices for databases. This allows development teams to work on database code in separate environments, track changes, automate testing and deployment, and maintain different versions of the database. The document recommends tools like SQL Source Control and Visual Studio Team Services and argues that source control can help development and operations teams work together more efficiently on database changes and releases.
2 67-1379416025-9. automation nad virtual.fullKier Francisco
This document describes the automation and virtual simulation of a laboratory-based mini thermal power plant. The researchers automated the plant by replacing manually operated valves with motorized valves and adding sensors to measure parameters like liquid level, pressure, and temperature. A virtual simulation model of the entire automated system was created using LabVIEW to allow remote monitoring and control. The automation and virtual simulation improve the efficiency and operation of the mini power plant and provide an educational tool for students to learn about power plant systems.
Rosalyn Coleman Williams is an accomplished actor, director, and educator. She has over 30 years of experience teaching acting at prestigious institutions and coaching on film and television sets. As a director, her films have won several awards at film festivals. As an actor, she has performed on Broadway and in films with stars like Halle Berry and Tom Cruise. She runs her own production company, Red Wall Productions, with her husband and continues to teach the next generation of artists through her online programs and workshops.
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source controlAlessandro Alpi
We are used to see our code under source control. What about our databases? This topic is too often underestimated. Keeping database under our control (source controlled) brings many advantages in terms of organization and quality. The distributed work become rock solid and Continuous integration is simpler to implement. In addition, we can take many advantages from testing, automated deployment and all the stuff that brings the agile methodology available to the team. We will compare also third party tools in order to understand the differences between different vendors.
The document discusses how technology can be used to engage with and interpret history. It mentions Archana Saad Akhtar as the Programme Officer for Design and Outreach at the Aga Khan Trust for Culture in New Delhi. The Trust uses technology in exhibitions, signage, and publications to inform people about history.
Fredy Alexander Saavedra discusses five trends in higher education that are important for developing quality in the 21st century university. These trends include: autonomy, democracy, quality, comprehensive education, and the emergence of the virtual university. Autonomy allows universities to improve educational processes. Democracy means providing quality education for all students and teachers. Quality education forms citizens who can participate in decision making. Comprehensive education stimulates students' emotional, social, and ethical skills. The virtual university is a challenge that requires redefining the current concept of college education.
I. O documento discute as formas de relevo da Terra resultantes das forças endógenas e exógenas e a classificação do relevo brasileiro proposta por Aziz Ab'Sáber. II. A alternativa correta é a III e IV, que afirma que a classificação foi proposta por Aroldo de Azevedo com base nos estudos de Aziz Ab'Sáber e do Projeto Radambrasil.
El documento contiene una serie de siglas y abreviaturas sin contexto que no proporcionan información comprensible. No es posible resumir el contenido de este documento de manera significativa en 3 oraciones o menos.
PASS Virtual Chapter - SQL Server Continuous DeploymentAlessandro Alpi
Dopo aver visto come effettuare la continuous integration terminiamo il ciclo di vita del nostro database effettuandone il deploy, includendo concetti come DevOps e automazione dei processi
O documento apresenta um trecho da Carta da Terra, que defende a sustentabilidade ambiental e o respeito aos direitos humanos. Em seguida, discute o conceito de desenvolvimento sustentável e importantes conferências sobre o meio ambiente realizadas ao longo dos anos.
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...Alessandro Alpi
We are used to see our code under source control. What about our databases? This topic is too often underestimated. Keeping database under our control (source controlled) brings many advantages in terms of organization and quality. The distributed work become rock solid and Continuous integration is simpler to implement. In addition, we can take many advantages from testing, automated deployment and all the stuff that brings the agile methodology available to the team. We will compare also third party tools in order to understand the differences between different vendors.
Il buon programmatore - consigli pratici per una vita feliceAndrea Dottor
Lavorando come consulente mi sono trovato spesso di fronte a problematiche (a volte banali), ma che erano la causa di gravi problemi di performance dell'appliccazione realizzata, oppure più banali, ma che rendevano il codice meno manutenibile e gestibile, specialmente lavorando in team. Vedere che nel tempo, persone/realtà diverse, commettono gli stessi errori mi ha fatto pensare a questa sessione...dove intendo elencare i problemi più comuni, che per causa di tempo o scarsa conoscenza, vengono commessi, e proporre delle soluzioni semplici da poter applicare fin da subito. (ASP.NET, ma non solo)
Grazie a Team Foundation Build è possibile adottare pratiche di integrazione continua nel proprio progetto. In questa presentazione viene introdotta la struttura di tfs build assieme alle tecniche base per effettuare una customizzazione della build.
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
In questa sessione vedremo come utilizzare Windows Azure per velocizzare e semplificare la realizzazione di applicazioni ASP.NET. Dallo sviluppo al deploy, passando per lo storage...andremo in dettaglio su varie funzionalità che ci faranno apprezzare ancora più la piattaforma Windows Azure.
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
Visual Studio Online è uno strumento che fornisce molte funzionalità per l'ALM (Application Lifecycle management) e ad ogni release diventa sempre più completo, funzionale e davvero utile. Si tratta di una piattaforma completa e gratuita di strumenti per lo sviluppo e servizi utili per creare applicazioni multi-piattaforma, progettata per soddisfare i più alti requistiti a livello di disponibilità, scalabilità e complessità di sviluppo.
In questo webcast introduttivo, primo di una serie, vedremo quali sono le caratteristiche di questo strumento, impareremo come utilizzarlo per gestire il lavoro di ogni giorno e prenderemo confidenza con le sue funzionalità. Andremo infine alla scoperta delle nuove feature aggiunte alla suite.
Prepariamoci al cambiamento. ASP.NET MVC e ASP.NET Web API saranno unificati in un unico framework chiamato ASP.NET MVC 6, e questo è solo la prima di una serie di novità che stanno per arrivare.
Tutto si semplifica. Le performance migliorano. Un altro salto tecnologico in avanti portato da ASP.NET 5.
In questa sessione, infatti, vedremo tutte le novità che ASP.NET MVC 6 porta con se, e cercheremo di andare in dettaglio in modo da capire cosa voglia dire realizzare (da zero) o migrare (un'applicazione essitente) a questa nuova versione
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
CruiseControl.net in un progetto realeDotNetMarche
La Continuous Integration è una pratica di sviluppo fondamentale per migliorare la qualità del software: CruiseControl.NET è una suite open-source per gestire questo processo in modo trasparente al team di sviluppo. Il relatore mostrerà i vantaggi derivati dall'uso di tale metodologia in un caso pratico, ovvero nello sviluppo della piattaforma di blogging Subtext, di cui è membro del team di sviluppo, nonché Build Manager.
Despite the word "DevOps" has been made recently, I've been one of the lucky ones who could work in the way this culture suggests, since 20 years. At that time, no Powershell was available, there was poor internet connection (at least in Italy), there weren't any tools for automation. Anyways my team have understood that mindset before it became mainstream. During my professional experience, I've gathered many scenarios in different businesses and I've learned many lessons. Straight to the point, the problem is focused on "change ourselves". In this session we will try to reply to the following questions:
As a legacy DBA, how to change our way of work? How to forget the bad habits? How to take advantage from our experience and awareness? Just my two cents. Hopefully interesting.
In un mondo in cui il termine smart è ovunque e la coppia smart-working è abusata, meglio concentrarsi sul vero significato del termine. Autonomia, responsabilità, fiducia e flessibilità, unitamente a strumenti tecnologici a supporto.
Sql Wars - SQL the attack of the Clones and the rebellion of the Containers Alessandro Alpi
How to solve three of he most tricky problems:
- isolating and repeating tests on production data without affecting production databases
- debug and resolve bugs using production-like databases
- review deploy scripts before executing them in production databases
It's a matter of Provisioning
The document discusses approaches for provisioning production-like data for testing purposes. It describes classic approaches like restoring production databases or bulk loading data, as well as more modern approaches using native database cloning features, virtual cloning with tools like SQL Clone, or using containers with technologies like Docker. It then demonstrates SQL Clone, which creates isolated clones of production databases in under 30 seconds, and using containers with Docker to run isolated SQL Server instances that share access to the same volume of data. Containers provide benefits like isolation, cross-platform support, and treating infrastructure as code, while SQL Clone is useful for classic virtualized environments that may lack container support. Both approaches help address issues like debugging apps against production data, running performance tests on
Doaw2020 - Dalla produzione alla QA, provisioning su SQL ServerAlessandro Alpi
In questa sessione vedremo come portare i dati in ambienti QA direttamente dalla produzione, evitando ogni problema conosciuto ad oggi: spazio, tempo, numero di copie, isolamento e via discorrendo. Un annoso problema che può essere finalmente risolto con pochi click.
Wpc2019 - Distruggere DevOps, la storia di un vero teamAlessandro Alpi
Consigli per evitare la distruzione della migrazione culturale verso DevOps. Vedremo un team con "attori" importanti provare a migrare verso buone pratiche e capiremo quanto è difficile arrivare, ma semplice distruggere tutto.
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL ServerAlessandro Alpi
SQL Server non è un mondo, è un universo ricco di funzionalità, architetture e tecnologie. Può spaventare e può essere difficile muoversi al suo interno con la necessaria fluidità. In questa sessione vedremo quali plugin e strumenti sono disponibili per velocizzare lo sviluppo su SQL Server, da Visual Studio Code a Management Studio, da SQL Operations Studio ai tool di RedGate. Migliorare gestione e scrittura di codice, con un occhio di riguardo alla condivisione e al team working, in un mondo in cui DevOps la fa da padrone.
Configuration e change management con Disciplined Agile FrameworkAlessandro Alpi
How to manage changes and configuration management using the Disciplined Agile Framework for DevOps (classic and prescriptive vs automated and iterative solutions). Software Configuration Management (SCM) summit: http://www.snescm.org/Common/Italian-chapter/Summits/2018/index.html
In questa sessione parleremo delle peggiori pratiche da seguire per infrangere ogni nostro sogno di realizzazione di DevOps. Peggiori e molto comuni e, proprio per questo, estremamente pericolose. Dal non rispettare i principi, al fare eccessive personalizzazioni, fino all'estremizzare tutte le buone pratiche. Non serve chissà cosa, e la tentazione è dietro l'angolo.
Automatizzare il processo di link dei database con redgate source controlAlessandro Alpi
Per chi è abituato a lavorare in ambienti molto distribuiti, casi in cui i database sono molteplici, e per chi usa Red Gate Source Control con VSTS (git o TFS), può diventare oneroso effettuare numerose operazioni manuali di collegamento. Tramite PowerShell, è possibile consumare le API del RedGate DLM Automation tool per velocizzare il processo di link dei nostri database. Alla base di DevOps ci sono infatti i concetti di ripetibilità e automatizzazione. Questo è quello che nel nostro team ci ha portato a ridurre l'errore umano all'osso e a velocizzare il provisioning delle nostre soluzioni distribuite.
Sql saturday parma 2017 (#sqlsat675) - Deep space Cosmos DBAlessandro Alpi
Azure Cosmos DB is a globally distributed database service designed to enable you to elastically and independently scale throughput and storage across any number of geographical regions with a comprehensive SLA. In this session we will discover how Cosmos DB works and what are the key features that enables you to become polyglot in persistency. A single "database" for multiple models.
Sql Saturday a Pordenone - Sql Server journey, da dev a opsAlessandro Alpi
DevOps e SQL Server, l'importanza di automatizzare i processi ripetibili, collaborare, condividere ed integrarsi per velocizzare e rendere più affidabile i nostri processi di deploy per il database.
In this presentation we'll learn about the native JSON support in SQL Server 2016. We will speak about Import/Export features, storage considerations and advantages/limitations on using this format in SQL Server.
2. Alessandro Alpi
MVP SQL Server dal 2008
DBA | Team leader
@suxstellino
[eng] http://suxstellino.wordpress.com
[ita] http://blogs.dotnethell.it/suxstellino
chi sono
4. È una pratica che consiste nell’allineamento
frequente (più volte al giorno) degli ambienti di
lavoro di sviluppo verso l’ambiente condiviso. Si
applica in contesti in cui lo sviluppo avviene tramite
un sistema vi versioning (version control system).
(fonte Wikipedia)
Che cosa si intende con Continuous Integration?
6. Check-in frequenti durante la giornata
Merge dei cambiamenti per ogni check-in
Evitare la «rottura» delle build
Comunicare l’eventuale «rottura» a tutto il team (evitare get)
Fare check-in solo se la build è «riparata»
Notificare quando è possibile fare una get da source control
Continuous Integration, best practices
7. Poter fare get/commit dei cambiamenti come per il codice
Le build costruiscono una sandbox su cui eseguire i test
Commit frequenti sulla linea principale come per il codice
Rendere atomici database e applicazione
Sfruttare strumenti condivisi (Visual Studio, Team Explorer)
Continuous Integration e database
8. Annulla la problematica «sul mio pc funziona»
Consente l’automazione dei processi
Migliora la qualità del codice (proprio per i processi frequenti)
Rende subito disponibile il sorgente/db ad un nuovo dev
Non dimentica nessuna linea di sviluppo
Separa il deploy dallo sviluppo
Aumenta la visibilità del «prodotto»
Vantaggi della Continuous Integration
10. Gestore delle versioni
cambiamenti del nostro codice (ddl, programmabilità)
cambiamenti di altri elementi (snippet, strumenti dev)
cambiamenti sui dati «statici»
Entità condivisa in sviluppo (e team management)
Dotato di interfaccia (anche grafica)
Può sembrare scomodo su database
Source control manager
11. Come potremmo semplicemente gestire le fix?
Come creare velocemente più ambienti di sviluppo?
Come utilizzare versioni differenti dello stesso DB?
Come sincronizzare il DB nel team (se non centralizzato)?
Ma senza un Source Control Manager?
12. Il database è codice (programmabilità, ddl, grant, ecc.)
Le tabelle di «dominio» sono come tanti enum (dati statici)
I puntamenti ai linked server sono configurazioni (app.config)
Le server login sono configurazioni di ambiente
Grande differenza: Il database persiste i dati utente.
DB vs. Codice
13. Visual Studio Database Projects
Red-Gate Source Control
ApexSQL Source Control
…
Management studio non basta!
Unitamente al Team Explorer (per chi usa Visual Studio)
Strumenti
14. Indipendentemente dal tool che si usa Team Explorer consente:
Migliore gestione dei changeset
Migliore associazione dei changeset ai task
Miglior controllo sulle fasi di commit e di review
Gestione centralizzata delle policy di checkin
Single point per la gestione del team project
Il Team Explorer
17. Attività di prova e collaudo di singole unità software. A
seconda del paradigma di programmazione, l’unità può
essere una singola funzione, una singola classe o un
singolo metodo. Lo scopo fondamentale è
l’individuazione precoce dei bug (o la prevenzione delle
regressioni).
(fonte Wikipedia)
Unit testing
19. Testare funzionalità mission-critical di business
Sviluppo evolutivo
Per capire precocemente alcuni bug
Supporto di alert automatici
Per prevenire regressioni il più possibile
Avere copertura di test
Scrivere in maniera «testabile» i nostri metodi
Unit testing, perché?
20. «Fix dei bug non appena trovati»
I bug non fixati camuffano potenzialmente altri bug
I bug non fixati fanno sembrare la qualità un’opzione
Discutere su bug non fixati è una perdita di tempo
I bug non fixati aumentano in generale gli sforzi
Unit testing, perché?
21. Calcoli in procedure e funzioni
Constraint (schema)
Casi limite e comportamenti attesi sui dati
Sicurezza
Standard
Cosa testare?
22. Framework
tSQLt
tSQLUnit (consigliato per SQL Server 2000)
SQLCop (per gli standard e le metriche)
Tools
SQLTest di Red-Gate (tSQLt + SQLCop)
Unit test project con Visual Studio
Strumenti per il test
23. Free framework (open source)
T-SQL
Necessita di SQLCLR abilitato
Comprende le asserzioni più comuni
Self-contained con transazioni isolate
Versatile
Piuttosto simile a xUnit
tSQLt
24. Built-in
schema tsqlt
Classi
Gruppi di stored procedure (che sono i test)
Struttura
Assemble (crea oggetti fake e mock)
Act (applica logiche)
Assert (asserisce, verifica risultati)
Convenzioni
Nome: test*
tSQLt – com’è fatto?
27. Build codice = compilazione automatica dopo check-in
Build database:
Parte al check-in dei changeset
Crea un package (nuget in questo caso)
Crea un database per i test
Valida gli oggetti creati
Build (cenni)
28. Red Gate SQL CI + plugin TFS + Script SC (DLM Automation Suite)
1) Al check-in su source control fa partire la build
1) Crea automaticamente un database per i test
1) Crea un package nuget
2) Esegue i test
3) Allinea il package su db di QA/Staging
4) Pubblica il package su un nuget feed
Automazione
30. Capire quale source control è il migliore per noi:
già utilizzato in passato?
servizio oppure on-premises?
costi?
Capire quale strumento per gestire il source control del database:
curva di apprendimento dell’IDE usato
costi
comodità (dati statici, filtri, team management)
Conclusioni
31. Per il testing:
Esistono tool per testare
Esiste la possibilità di isolare
È semplice creare un database nuovo su cui testare
Miglioriamo la qualità del nostro software
Preveniamo le regressioni
Conclusioni
33. Automatizzare = Meno spreco di tempo + qualità
Immagine: www.simple-talk.com
Sviluppo
Commit/Checkin
Trigger della Build
Build del database
Test sul database
Creazione del package
34. Grazie a tutti per la partecipazione!
Riceverete il link per il download a slide e demo via email nei
prossimi giorni
Per contattarmi
[email protected]
Grazie
35. Source control resources
https://msdn.microsoft.com/it-it/library/dn894015.aspx (Article on Source Control)
http://www.red-gate.com/products/sql-development/sql-source-control/
http://apexsql.com/sql_tools_source_control.aspx
http://suxstellino.wordpress.com/tag/alm/
http://blogs.dotnethell.it/suxstellino/Category_2927.aspx
Unit testing resources
http://www.red-gate.com/products/sql-development/sql-test/
http://tsqlt.org/
http://sourceforge.net/projects/tsqlunit/
https://msdn.microsoft.com/it-it/library/mt169842 (Article on Unit Testing)
http://en.wikipedia.org/wiki/Unit_testing
https://www.simple-talk.com/sql/t-sql-programming/getting-started-testing-databases-with-tsqlt/
https://github.com/chrisoldwood/SS-Unit
CI resources
http://msdn.microsoft.com/it-it/library/dn383992.aspx (Article on CI)
http://www.red-gate.com/products/dlm/dlm-automation-suite/
http://www.red-gate.com/products/dlm/dlm-automation-suite/sql-ci
http://www.red-gate.com/products/dlm/dlm-automation-suite/sql-release
http://documentation.red-gate.com/display/DAS/DLM+Automation+Suite
Risorse