SlideShare a Scribd company logo
1 of 18
#DOH18
2
B1- Git – Gitflow – Pull requests in
Devops Focused Teams
Ricci Gian Maria
@alkampfer
alkampfer@nablasoft.com
#DOH18 3
Organizer & sponsors
GetLatestVersion.it
#DOH18 4
Ma la qualità?
René Ferretti – Regista
#DOH18 5
Perchè Git?
E se continuassi
ad usare un source
control
centralizzato?
#DOH18 6
Perchè Git?
***** giargiana, mi
sbagli le basi???
#DOH18 7
Perché la qualità beneficia di Git
Controllo completo della storia del codice sorgente
Possibilità di generare una storia lineare business / feature oriented
Lavoro in isolamento con le branch locali
…
Verifica del codice con Pull Request
#DOH18 8
Git e l’integrazione continua
#DOH18 9
GitFlow, GitVersion ed il semantic versioning
1.0.0
1.0.1-Beta1
1.1.0-Beta1
1.1.0-dev1
1.1.0-feat1
10
Build and Gitversion
#DOH18 11
Trunk Based Development
Trunk based development VS branch for feature
Ho bisogno di Git anche con un trunk based development?
È vero che in un Trunk Based Development non si usano le branch?
#DOH18 12
Long lived and Short lived branches
Anche nella Trunk Based Development si utilizzano branches
Il segreto è usare Short-Lived branches
Non vivono più di una iterazione (SCRUM)
Coinvolge un numero ridotto di persone
Non sono particolarmente complesse.
Talvolta è comunque necessario utilizzare branch long lived
Refactoring di framework o interventi su parti core del codice
Aggiornamenti di librerie pervasive (C# MongoDb 1 -> 2)
#DOH18 13
Il signor produzione
Io non sono
quello che apre
l’armadio, io
sono quello che
indica l’armadio
Tutti hanno
qualche
scheletro
nell’armadio
#DOH18 14
Perché gli scheletri sono nell’armadio
Fretta
Disattenzione
Problema
compreso male
Eccessiva
pressione
Ansia da rilascio
Area di lavoro poco
conosciuta
#DOH18 15
Pull request – cosa non è
Una modalità di frustrare gli sviluppatori bloccando la trunk
L’occasione di attaccare come gli altri scrivono codice
La volontà di imporre procedure perchè manca fiducia
Non è un momento negativo
#DOH18 16
Pull request – cosa è
Controllo accurato del team sul cosa entra nella codebase
L’occasione di propagare uniformità nella scrittura del codice
La possibilità di usufruire di verifiche automatiche sulla qualità del
codice.
17
Pull requests + SonarQube
#DOH18
THANK YOU!

More Related Content

Similar to Git gitflow pull requests in devops focused teams

Sviluppare con Portofino
Sviluppare con PortofinoSviluppare con Portofino
Sviluppare con PortofinoNaLUG
 
GAE python GDG Milano - L01
GAE python GDG Milano - L01GAE python GDG Milano - L01
GAE python GDG Milano - L01Paolo Dadda
 
Come i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature TeamsCome i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature TeamsGiulio Roggero
 
Canary Release Strategy con telemetria per dormire sonni tranquilli
Canary Release Strategy con telemetria per dormire sonni tranquilliCanary Release Strategy con telemetria per dormire sonni tranquilli
Canary Release Strategy con telemetria per dormire sonni tranquilliMichele Ferracin
 
Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5Marcello Teodori
 
Introduzione a git
Introduzione a gitIntroduzione a git
Introduzione a gitrpanfili
 
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...SMAU
 
Php Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel BuioPhp Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel Buiopietrobr
 
Introduzione a Git e GitLab
Introduzione a Git e GitLabIntroduzione a Git e GitLab
Introduzione a Git e GitLabYefry Figueroa
 
L'automazione dei processi sulle interfacce SAP
L'automazione dei processi sulle interfacce SAPL'automazione dei processi sulle interfacce SAP
L'automazione dei processi sulle interfacce SAPCristina Vidu
 
Php On Windows For Ph Pday 2008
Php On Windows For Ph Pday 2008Php On Windows For Ph Pday 2008
Php On Windows For Ph Pday 2008pietrobr
 
Frontend Development with Blazor
Frontend Development with BlazorFrontend Development with Blazor
Frontend Development with BlazorMichele Aponte
 
Sviluppo di applicazioni mobile con Titanium Appcelerator
Sviluppo di applicazioni mobile con Titanium AppceleratorSviluppo di applicazioni mobile con Titanium Appcelerator
Sviluppo di applicazioni mobile con Titanium Appceleratorextrategy
 

Similar to Git gitflow pull requests in devops focused teams (20)

Git branching model
Git branching modelGit branching model
Git branching model
 
Sviluppare con Portofino
Sviluppare con PortofinoSviluppare con Portofino
Sviluppare con Portofino
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
GAE python GDG Milano - L01
GAE python GDG Milano - L01GAE python GDG Milano - L01
GAE python GDG Milano - L01
 
POLARION by SIEMENS & GITLAB, una coppia vincente
POLARION by SIEMENS & GITLAB, una coppia vincentePOLARION by SIEMENS & GITLAB, una coppia vincente
POLARION by SIEMENS & GITLAB, una coppia vincente
 
Xamarin DevOps
Xamarin DevOpsXamarin DevOps
Xamarin DevOps
 
Come i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature TeamsCome i Microservizi favoriscono il lavoro dei Feature Teams
Come i Microservizi favoriscono il lavoro dei Feature Teams
 
03 bigblue
03 bigblue03 bigblue
03 bigblue
 
Canary Release Strategy con telemetria per dormire sonni tranquilli
Canary Release Strategy con telemetria per dormire sonni tranquilliCanary Release Strategy con telemetria per dormire sonni tranquilli
Canary Release Strategy con telemetria per dormire sonni tranquilli
 
Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5Streaming in Java e Flex con Red5
Streaming in Java e Flex con Red5
 
Seo Audit Demo
Seo Audit DemoSeo Audit Demo
Seo Audit Demo
 
Introduzione a git
Introduzione a gitIntroduzione a git
Introduzione a git
 
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
 
Php Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel BuioPhp Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel Buio
 
Introduzione a Git e GitLab
Introduzione a Git e GitLabIntroduzione a Git e GitLab
Introduzione a Git e GitLab
 
L'automazione dei processi sulle interfacce SAP
L'automazione dei processi sulle interfacce SAPL'automazione dei processi sulle interfacce SAP
L'automazione dei processi sulle interfacce SAP
 
Php On Windows For Ph Pday 2008
Php On Windows For Ph Pday 2008Php On Windows For Ph Pday 2008
Php On Windows For Ph Pday 2008
 
Emerasoft Git quickstart
Emerasoft Git quickstartEmerasoft Git quickstart
Emerasoft Git quickstart
 
Frontend Development with Blazor
Frontend Development with BlazorFrontend Development with Blazor
Frontend Development with Blazor
 
Sviluppo di applicazioni mobile con Titanium Appcelerator
Sviluppo di applicazioni mobile con Titanium AppceleratorSviluppo di applicazioni mobile con Titanium Appcelerator
Sviluppo di applicazioni mobile con Titanium Appcelerator
 

More from Gian Maria Ricci

Se non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorandoSe non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorandoGian Maria Ricci
 
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGian Maria Ricci
 
Migrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a GitMigrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a GitGian Maria Ricci
 
Real World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOpsReal World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOpsGian Maria Ricci
 
Gestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devopsGestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devopsGian Maria Ricci
 
Build and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesBuild and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesGian Maria Ricci
 
Azure Pipeline in salsa yaml
Azure Pipeline in salsa yamlAzure Pipeline in salsa yaml
Azure Pipeline in salsa yamlGian Maria Ricci
 
Distribute your code with NUget and build vNext
Distribute your code with NUget and build vNextDistribute your code with NUget and build vNext
Distribute your code with NUget and build vNextGian Maria Ricci
 
Manage your environment with DSC
Manage your environment with DSCManage your environment with DSC
Manage your environment with DSCGian Maria Ricci
 
Introduction to Application insights
Introduction to Application insightsIntroduction to Application insights
Introduction to Application insightsGian Maria Ricci
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS BuildGian Maria Ricci
 
TFS - Quale source control
TFS - Quale source controlTFS - Quale source control
TFS - Quale source controlGian Maria Ricci
 
Introduction to Visual Studio Online
Introduction to Visual Studio OnlineIntroduction to Visual Studio Online
Introduction to Visual Studio OnlineGian Maria Ricci
 
Come Organizzare il proprio Team Project
Come Organizzare il proprio Team ProjectCome Organizzare il proprio Team Project
Come Organizzare il proprio Team ProjectGian Maria Ricci
 
Automatically deployment to Azure Web Sites
Automatically deployment to Azure Web SitesAutomatically deployment to Azure Web Sites
Automatically deployment to Azure Web SitesGian Maria Ricci
 

More from Gian Maria Ricci (20)

Se non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorandoSe non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorando
 
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
 
Migrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a GitMigrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a Git
 
Real World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOpsReal World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOps
 
Gestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devopsGestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devops
 
Build and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesBuild and release in code with azure devops pipelines
Build and release in code with azure devops pipelines
 
Azure Pipeline in salsa yaml
Azure Pipeline in salsa yamlAzure Pipeline in salsa yaml
Azure Pipeline in salsa yaml
 
Distribute your code with NUget and build vNext
Distribute your code with NUget and build vNextDistribute your code with NUget and build vNext
Distribute your code with NUget and build vNext
 
Manage your environment with DSC
Manage your environment with DSCManage your environment with DSC
Manage your environment with DSC
 
Introduction to Application insights
Introduction to Application insightsIntroduction to Application insights
Introduction to Application insights
 
Git branching model
Git branching modelGit branching model
Git branching model
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS Build
 
TFS - Quale source control
TFS - Quale source controlTFS - Quale source control
TFS - Quale source control
 
Branch model in Git
Branch model in GitBranch model in Git
Branch model in Git
 
Introduction to Visual Studio Online
Introduction to Visual Studio OnlineIntroduction to Visual Studio Online
Introduction to Visual Studio Online
 
Git si o Git No
Git si o Git NoGit si o Git No
Git si o Git No
 
Testing
TestingTesting
Testing
 
Come Organizzare il proprio Team Project
Come Organizzare il proprio Team ProjectCome Organizzare il proprio Team Project
Come Organizzare il proprio Team Project
 
Git Perchè Usarlo
Git Perchè UsarloGit Perchè Usarlo
Git Perchè Usarlo
 
Automatically deployment to Azure Web Sites
Automatically deployment to Azure Web SitesAutomatically deployment to Azure Web Sites
Automatically deployment to Azure Web Sites
 

Git gitflow pull requests in devops focused teams

  • 2. 2 B1- Git – Gitflow – Pull requests in Devops Focused Teams Ricci Gian Maria @alkampfer alkampfer@nablasoft.com
  • 3. #DOH18 3 Organizer & sponsors GetLatestVersion.it
  • 4. #DOH18 4 Ma la qualità? René Ferretti – Regista
  • 5. #DOH18 5 Perchè Git? E se continuassi ad usare un source control centralizzato?
  • 6. #DOH18 6 Perchè Git? ***** giargiana, mi sbagli le basi???
  • 7. #DOH18 7 Perché la qualità beneficia di Git Controllo completo della storia del codice sorgente Possibilità di generare una storia lineare business / feature oriented Lavoro in isolamento con le branch locali … Verifica del codice con Pull Request
  • 8. #DOH18 8 Git e l’integrazione continua
  • 9. #DOH18 9 GitFlow, GitVersion ed il semantic versioning 1.0.0 1.0.1-Beta1 1.1.0-Beta1 1.1.0-dev1 1.1.0-feat1
  • 11. #DOH18 11 Trunk Based Development Trunk based development VS branch for feature Ho bisogno di Git anche con un trunk based development? È vero che in un Trunk Based Development non si usano le branch?
  • 12. #DOH18 12 Long lived and Short lived branches Anche nella Trunk Based Development si utilizzano branches Il segreto è usare Short-Lived branches Non vivono più di una iterazione (SCRUM) Coinvolge un numero ridotto di persone Non sono particolarmente complesse. Talvolta è comunque necessario utilizzare branch long lived Refactoring di framework o interventi su parti core del codice Aggiornamenti di librerie pervasive (C# MongoDb 1 -> 2)
  • 13. #DOH18 13 Il signor produzione Io non sono quello che apre l’armadio, io sono quello che indica l’armadio Tutti hanno qualche scheletro nell’armadio
  • 14. #DOH18 14 Perché gli scheletri sono nell’armadio Fretta Disattenzione Problema compreso male Eccessiva pressione Ansia da rilascio Area di lavoro poco conosciuta
  • 15. #DOH18 15 Pull request – cosa non è Una modalità di frustrare gli sviluppatori bloccando la trunk L’occasione di attaccare come gli altri scrivono codice La volontà di imporre procedure perchè manca fiducia Non è un momento negativo
  • 16. #DOH18 16 Pull request – cosa è Controllo accurato del team sul cosa entra nella codebase L’occasione di propagare uniformità nella scrittura del codice La possibilità di usufruire di verifiche automatiche sulla qualità del codice.
  • 17. 17 Pull requests + SonarQube