SlideShare a Scribd company logo
Continuous
Integration
18 Nov. 2020
Presented By &
INTRODUCTION
Continuous Integration
Presented By &
Introduction
Continuous Integration
It's an initiative for gathering people
interested in Agile, eXtreme
Programming (aka: XP), Scrum,
Coding, etc.
The Idea of XP Days was found at
November 2019 and since that we
have conducted lots of knowledge
sharing meetups and webinars.
Agile Arena is an Agile Consulting and Training company. We
specialize in agile adoption and transformation for companies
and teams through:
• Designing their agile adoption programs
• Executing our programs and guiding the team through their
journey to sustainable agility .
• We also provide training for teams and individuals to help
them coping with the agility trend in the market.
Presented By &Continuous Integration
XP Practices
Shared
understanding
Fine-scale
feedback
Continuous
process
Programmer
welfare
Presented By &
XP Practices
• Continuous Integration
• Refactoring
• Small releases
Continuous Integration
Continuous process
Presented By &Continuous Integration
This Webinar
is Held By:
Mohamed
ShaabanSenior Software Engineer
Presented By &
AGENDA
• Continuous Integration.
• Pipelines and Agents
• Technical Debt
• Package Management
• Build Artifact
• SQL Package
• Web Deploy
• Test Selenium
What we’ll be covering this webinar
Presented By &Continuous Integration
Continuous integration is a development practice that requires
developers to integrate code into the shared library several times
a day.
Each commit is verified by an automated build, allowing teams to
detect problems early.
Continuous Integration
Presented By &Continuous Integration
• Improving code quality based on rapid feedback.
• Triggering for automated testing for every code change.
• Reducing build times for rapid feedback and early detection of problems (risk reduction).
• Managing technical debt better and conducting code analysis.
• Reducing long, difficult, and bug-inducing merges.
• Increasing confidence in code-base health long before production.
Rapid feedback for code quality
CI Benefits
• Are developers in your organization committing code multiple times a day to the source control
repository?
• Are the same developers committing at least once a day to the main code line that's used to publish
a code into the test environments?
• Are the commits that are done triggering a process of automated build and unit test execution?
• Do the developers look at the results of the unit test execution, and a key metric there is code
coverage. Are they constantly working towards improving the code coverage from these automated
processes?
• When the build actually goes red and fails, do the development teams stop what they're doing and
fix the build within the next 10 minutes?
Do you implement it in right way and gain its benefits?
Presented By &Continuous Integration
The Four Pillars of Continuous
Integration
Source/VersionControl
continuous integration system AutomationBuild
PackageManagement
Presented By &Continuous Integration
Presented By &Continuous Integration
Version Control System
Why Source Control?
Code doesn’t exist unless it’s committed into source control…
Source Control is the fundamental enables of Continuous
Delivery!
Centralized Source Control System
Centralized version control systems are based on the idea that there is a single “central”
copy of your project somewhere (probably on a server), and programmers will “commit”
their changes to this central copy.
“Committing” a change simply means recording the change in the central system. Other
programmers can then see this change. They can also pull down the change, and the
version control tool will automatically update the contents of any files that were changed.
Centralized Source Control System
Work Flow
• Pull down any changes other people have made from the
central server.
• Make your changes, and make sure they work properly.
• Commit your changes to the central server, so other
programmers can see them.
Centralized Source Control System
TFVC
• Strengths
• Easley scale for large code base
• Granular permission control
• Permits monitoring for usage
• Allow exclusive file locking
• Best used for
• Large integrated code base
• Audit & Access control down to file level
• Hard to merge file types
Distributed Source Control System
distributed version control (also known as distributed revision
control) is a form of version control where the
complete codebase - including its full history - is mirrored on
every developer's computer. This
allows branching and merging to be managed automatically,
increases speeds of most operations (except for pushing and
pulling), improves the ability to work offline, and does not rely on
a single location for backups.
Continuous Integration
Distributed Source Control System
Git
• Strengths
• Performing actions other than pushing and pulling change sets is extremely fast because
the tool only needs to access the hard drive, not a remote server.
• Committing new change sets can be done locally without anyone else seeing them. Once
you have a group of change sets ready, you can push all of them at once.
• Everything but pushing and pulling can be done without an internet connection. So you
can work on a plane, and you won’t be forced to commit several bug fixes as one big
change set.
• Since each programmer has a full copy of the project repository, they can share changes
with one or two other people at a time if they want to get some feedback before showing
the changes to everyone.
When sharing a codebase…
Co-developing with others in a team
• Will my code ,
• Break other code?
• Introduce code quality issues?
• Drop the code coverage?
• Take on a new dependency?
• Will the incoming code,
• Break my code?
• Introduce code quality issues?
• Drop my code coverage?
• Take on a new dependency?
Git Hook
• we could use a Git hook script to automatically build and roll-out our software to our
production servers everytime there was a commit on master.
A successful Git branching model
By Vincent Driessen
on Tuesday, January 05, 2010
The main branches
infinite lifetime
The Supporting
branches
Feature
Hot Fix
Limited lifetime
A successful Git branching model
characteristics • Decentralized but centralized
• Has 2 main branches with infinite life time
• Master : We consider origin/master to be the main branch where the
source code of HEAD always reflects a production-ready state.
• Develop/Integration: We consider origin/develop to be the main branch
where the source code of HEAD always reflects a state with the latest
delivered development changes for the next release.
• Feature Branch
• May branch off from: develop
• Must merge back into: develop
• Branch naming convention: anything except master, develop, release-*, or
hotfix-*
• Release Branch
• May branch off from: develop
• Must merge back into: develop and master
• Branch naming convention: release-*
• Hotfix Branch
• May branch off from: master
• Must merge back into: develop and master
• Branch naming convention: hotfix-*
Pipeline and
Agents
Agents
• Microsoft-hosted agents
• If your pipelines are in Azure Pipelines, then you've got a convenient
option to build and deploy using a Microsoft-hosted agent. With
Microsoft-hosted agents, maintenance and upgrades are taken care of
for you
• Self-hosted agents
• An agent that you set up and manage on your own to run build and
deployment jobs is a self-hosted agent. You can use self-hosted agents
in Azure Pipelines. Self-hosted agents give you more control to install
dependent software needed for your builds and deployments.
Setup Self-hosted Agent
Demo
Pipelines Demos
Pipelines Demo
• .Net Framework pipeline
• .Net Core pipeline
• Unit test pipeline
• Web Deploy pipeline
• Angular pipeline
• Db project pipeline
• Configuration pipeline
Technical Debt
Sources and Impacts of Technical
Debt
• Lack of coding style and standards.
• Lack of or poor design of unit test cases.
• Ignoring or not understanding object orient design principles.
• Monolithic classes and code libraries.
• Poorly envisioned use of technology, architecture and approach. (Forgetting that all attributes of the
system, affecting maintenance, user experience, scalability, and others, need to be considered).
• Over-engineering code (adding or creating code that is not needed, adding custom code when
existing libraries are sufficient, or creating layers or components that are not needed).
• Insufficient comments and documentation.
• Not writing self-documenting code (including class, method and variable names that are descriptive
or indicate intent).
• Taking shortcuts to meet deadlines.
• Leaving dead code in place.
SonarQube Demo
Integrating Other Code Quality Tools
Managing Security policies
• WhiteSource Bolt
• Detects all open source components in your software, without ever
scanning your code. It provides you with real-time alerts on vulnerable
and outdated open source components and generates comprehensive
up-to-date inventory, licenses and security reports with only one click.
• OWASP/ZAP
• Popular free security tool for helping to identify vulnerabilities during
the development process from OWASP. This extension shifts scanning
and reporting into the Azure DevOps Pipeline model to enable quick
feedback and response from development teams throughout the
development life-cycle.
Presented By &
DISCUSSION
Ad

More Related Content

What's hot (20)

DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services
WinWire Technologies Inc
 
Automation CICD
Automation CICDAutomation CICD
Automation CICD
Lumban Sopian
 
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps overview  2019-04-13 Nelkinda April MeetupDevOps overview  2019-04-13 Nelkinda April Meetup
DevOps overview 2019-04-13 Nelkinda April Meetup
Shweta Sadawarte
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
Edureka!
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
SlideTeam
 
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTSDevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
Solidify
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
DevOps.com
 
DevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryDevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT Industry
Rahul Tilloo
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
Swapnil Jain
 
DevOps in action - Azure DevOps
DevOps in action - Azure DevOpsDevOps in action - Azure DevOps
DevOps in action - Azure DevOps
XPDays
 
Cloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team ServicesCloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team Services
Martin Hinshelwood
 
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
Software Guru
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
Roles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerRoles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps Engineer
ZaranTech LLC
 
Introducing DevOps, IT Sharing Session 20 Nov 2017
Introducing DevOps, IT Sharing Session 20 Nov 2017Introducing DevOps, IT Sharing Session 20 Nov 2017
Introducing DevOps, IT Sharing Session 20 Nov 2017
Danny Ariwicaksono
 
What is DevOps
What is DevOpsWhat is DevOps
What is DevOps
spajus
 
DevOps 2016 summit
DevOps 2016 summitDevOps 2016 summit
DevOps 2016 summit
Chihyang Li
 
Understanding DevOps
Understanding DevOpsUnderstanding DevOps
Understanding DevOps
InnoTech
 
Engineering practices within scrum
Engineering practices within scrumEngineering practices within scrum
Engineering practices within scrum
SoftServe
 
DevTalk: From Uni to Enterprise
DevTalk: From Uni to EnterpriseDevTalk: From Uni to Enterprise
DevTalk: From Uni to Enterprise
Perforce
 
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps overview  2019-04-13 Nelkinda April MeetupDevOps overview  2019-04-13 Nelkinda April Meetup
DevOps overview 2019-04-13 Nelkinda April Meetup
Shweta Sadawarte
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | EdurekaDevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
Edureka!
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
SlideTeam
 
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTSDevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
Solidify
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
DevOps.com
 
DevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT IndustryDevOps - Overview - One of the Top Trends in IT Industry
DevOps - Overview - One of the Top Trends in IT Industry
Rahul Tilloo
 
Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
Swapnil Jain
 
DevOps in action - Azure DevOps
DevOps in action - Azure DevOpsDevOps in action - Azure DevOps
DevOps in action - Azure DevOps
XPDays
 
Cloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team ServicesCloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team Services
Martin Hinshelwood
 
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
Software Guru
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
Roles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerRoles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps Engineer
ZaranTech LLC
 
Introducing DevOps, IT Sharing Session 20 Nov 2017
Introducing DevOps, IT Sharing Session 20 Nov 2017Introducing DevOps, IT Sharing Session 20 Nov 2017
Introducing DevOps, IT Sharing Session 20 Nov 2017
Danny Ariwicaksono
 
What is DevOps
What is DevOpsWhat is DevOps
What is DevOps
spajus
 
DevOps 2016 summit
DevOps 2016 summitDevOps 2016 summit
DevOps 2016 summit
Chihyang Li
 
Understanding DevOps
Understanding DevOpsUnderstanding DevOps
Understanding DevOps
InnoTech
 
Engineering practices within scrum
Engineering practices within scrumEngineering practices within scrum
Engineering practices within scrum
SoftServe
 
DevTalk: From Uni to Enterprise
DevTalk: From Uni to EnterpriseDevTalk: From Uni to Enterprise
DevTalk: From Uni to Enterprise
Perforce
 

Similar to Continuous Integration (20)

SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
Ori Donner
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
Enter the Team City
Enter the Team CityEnter the Team City
Enter the Team City
Kashif Ali Siddiqui
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
Gert Drapers
 
DevOps model in software engineering.pptx
DevOps model in software engineering.pptxDevOps model in software engineering.pptx
DevOps model in software engineering.pptx
RenyJose3
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
Rajnish Chauhan
 
CI/CD Tools That Will Revolutionize Your DevOps Process
CI/CD Tools That Will Revolutionize Your DevOps ProcessCI/CD Tools That Will Revolutionize Your DevOps Process
CI/CD Tools That Will Revolutionize Your DevOps Process
Shubham Joshi
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdf
MahmoudAlnmr1
 
jenkins.pdf
jenkins.pdfjenkins.pdf
jenkins.pdf
shahidafrith
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
AnikeyRoy
 
Jenkins an opensource CICD platform for all
Jenkins an opensource CICD platform for allJenkins an opensource CICD platform for all
Jenkins an opensource CICD platform for all
ssuserd7cedc
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
BSGAfrica
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
Perforce
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
G R VISHAL
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
Synergetics Learning and Cloud Consulting
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
Eklove Mohan
 
Devops
DevopsDevops
Devops
JyothirmaiG4
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
Sunil Dalal
 
Hyd virtual meetupslides11jul
Hyd virtual meetupslides11julHyd virtual meetupslides11jul
Hyd virtual meetupslides11jul
Santosh Ojha
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
Ori Donner
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
The Rocky Cloud Road
The Rocky Cloud RoadThe Rocky Cloud Road
The Rocky Cloud Road
Gert Drapers
 
DevOps model in software engineering.pptx
DevOps model in software engineering.pptxDevOps model in software engineering.pptx
DevOps model in software engineering.pptx
RenyJose3
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
Rajnish Chauhan
 
CI/CD Tools That Will Revolutionize Your DevOps Process
CI/CD Tools That Will Revolutionize Your DevOps ProcessCI/CD Tools That Will Revolutionize Your DevOps Process
CI/CD Tools That Will Revolutionize Your DevOps Process
Shubham Joshi
 
Jenkins_1679702972.pdf
Jenkins_1679702972.pdfJenkins_1679702972.pdf
Jenkins_1679702972.pdf
MahmoudAlnmr1
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
AnikeyRoy
 
Jenkins an opensource CICD platform for all
Jenkins an opensource CICD platform for allJenkins an opensource CICD platform for all
Jenkins an opensource CICD platform for all
ssuserd7cedc
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
BSGAfrica
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
Perforce
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
G R VISHAL
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
Eklove Mohan
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
Sunil Dalal
 
Hyd virtual meetupslides11jul
Hyd virtual meetupslides11julHyd virtual meetupslides11jul
Hyd virtual meetupslides11jul
Santosh Ojha
 
Ad

More from XPDays (20)

Change the Conversation! Unleash Your Potential in a Complex World.pptx
Change the Conversation! Unleash Your Potential in a Complex World.pptxChange the Conversation! Unleash Your Potential in a Complex World.pptx
Change the Conversation! Unleash Your Potential in a Complex World.pptx
XPDays
 
Agile Culture Transformation
Agile Culture TransformationAgile Culture Transformation
Agile Culture Transformation
XPDays
 
Re-engineering Technology to break barriers with Business
Re-engineering Technology to break barriers with BusinessRe-engineering Technology to break barriers with Business
Re-engineering Technology to break barriers with Business
XPDays
 
Practicing Red, Green, Refactor!
Practicing Red, Green, Refactor!Practicing Red, Green, Refactor!
Practicing Red, Green, Refactor!
XPDays
 
Ready, Steady, Sprint
Ready, Steady, SprintReady, Steady, Sprint
Ready, Steady, Sprint
XPDays
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
XPDays
 
Scrum Master Facilitation Techniques
Scrum Master Facilitation TechniquesScrum Master Facilitation Techniques
Scrum Master Facilitation Techniques
XPDays
 
Unit Testing in Action - C#, NUnit, and Moq
Unit Testing in Action - C#, NUnit, and MoqUnit Testing in Action - C#, NUnit, and Moq
Unit Testing in Action - C#, NUnit, and Moq
XPDays
 
An Introduction to The Cynefin Framework
An Introduction to The Cynefin FrameworkAn Introduction to The Cynefin Framework
An Introduction to The Cynefin Framework
XPDays
 
Team Mental Health
Team Mental HealthTeam Mental Health
Team Mental Health
XPDays
 
Business Analyst in the Agile Space
Business Analyst in the Agile SpaceBusiness Analyst in the Agile Space
Business Analyst in the Agile Space
XPDays
 
Priotrization techniques
Priotrization techniquesPriotrization techniques
Priotrization techniques
XPDays
 
Scaled Agile Framework
Scaled Agile FrameworkScaled Agile Framework
Scaled Agile Framework
XPDays
 
Building Team Habits
Building Team HabitsBuilding Team Habits
Building Team Habits
XPDays
 
4 Keys to Success in your Agile Journey
4 Keys to Success in your Agile Journey4 Keys to Success in your Agile Journey
4 Keys to Success in your Agile Journey
XPDays
 
Coaching stances
Coaching stancesCoaching stances
Coaching stances
XPDays
 
Re-focus for Agile leaders
Re-focus for Agile leadersRe-focus for Agile leaders
Re-focus for Agile leaders
XPDays
 
Business Decomposition
Business DecompositionBusiness Decomposition
Business Decomposition
XPDays
 
Agile projects | Prioritization
Agile projects | PrioritizationAgile projects | Prioritization
Agile projects | Prioritization
XPDays
 
Scaling Agile | Spotify
Scaling Agile | SpotifyScaling Agile | Spotify
Scaling Agile | Spotify
XPDays
 
Change the Conversation! Unleash Your Potential in a Complex World.pptx
Change the Conversation! Unleash Your Potential in a Complex World.pptxChange the Conversation! Unleash Your Potential in a Complex World.pptx
Change the Conversation! Unleash Your Potential in a Complex World.pptx
XPDays
 
Agile Culture Transformation
Agile Culture TransformationAgile Culture Transformation
Agile Culture Transformation
XPDays
 
Re-engineering Technology to break barriers with Business
Re-engineering Technology to break barriers with BusinessRe-engineering Technology to break barriers with Business
Re-engineering Technology to break barriers with Business
XPDays
 
Practicing Red, Green, Refactor!
Practicing Red, Green, Refactor!Practicing Red, Green, Refactor!
Practicing Red, Green, Refactor!
XPDays
 
Ready, Steady, Sprint
Ready, Steady, SprintReady, Steady, Sprint
Ready, Steady, Sprint
XPDays
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
XPDays
 
Scrum Master Facilitation Techniques
Scrum Master Facilitation TechniquesScrum Master Facilitation Techniques
Scrum Master Facilitation Techniques
XPDays
 
Unit Testing in Action - C#, NUnit, and Moq
Unit Testing in Action - C#, NUnit, and MoqUnit Testing in Action - C#, NUnit, and Moq
Unit Testing in Action - C#, NUnit, and Moq
XPDays
 
An Introduction to The Cynefin Framework
An Introduction to The Cynefin FrameworkAn Introduction to The Cynefin Framework
An Introduction to The Cynefin Framework
XPDays
 
Team Mental Health
Team Mental HealthTeam Mental Health
Team Mental Health
XPDays
 
Business Analyst in the Agile Space
Business Analyst in the Agile SpaceBusiness Analyst in the Agile Space
Business Analyst in the Agile Space
XPDays
 
Priotrization techniques
Priotrization techniquesPriotrization techniques
Priotrization techniques
XPDays
 
Scaled Agile Framework
Scaled Agile FrameworkScaled Agile Framework
Scaled Agile Framework
XPDays
 
Building Team Habits
Building Team HabitsBuilding Team Habits
Building Team Habits
XPDays
 
4 Keys to Success in your Agile Journey
4 Keys to Success in your Agile Journey4 Keys to Success in your Agile Journey
4 Keys to Success in your Agile Journey
XPDays
 
Coaching stances
Coaching stancesCoaching stances
Coaching stances
XPDays
 
Re-focus for Agile leaders
Re-focus for Agile leadersRe-focus for Agile leaders
Re-focus for Agile leaders
XPDays
 
Business Decomposition
Business DecompositionBusiness Decomposition
Business Decomposition
XPDays
 
Agile projects | Prioritization
Agile projects | PrioritizationAgile projects | Prioritization
Agile projects | Prioritization
XPDays
 
Scaling Agile | Spotify
Scaling Agile | SpotifyScaling Agile | Spotify
Scaling Agile | Spotify
XPDays
 
Ad

Recently uploaded (20)

Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 

Continuous Integration

  • 3. Presented By & Introduction Continuous Integration It's an initiative for gathering people interested in Agile, eXtreme Programming (aka: XP), Scrum, Coding, etc. The Idea of XP Days was found at November 2019 and since that we have conducted lots of knowledge sharing meetups and webinars. Agile Arena is an Agile Consulting and Training company. We specialize in agile adoption and transformation for companies and teams through: • Designing their agile adoption programs • Executing our programs and guiding the team through their journey to sustainable agility . • We also provide training for teams and individuals to help them coping with the agility trend in the market.
  • 4. Presented By &Continuous Integration XP Practices Shared understanding Fine-scale feedback Continuous process Programmer welfare
  • 5. Presented By & XP Practices • Continuous Integration • Refactoring • Small releases Continuous Integration Continuous process
  • 7. This Webinar is Held By: Mohamed ShaabanSenior Software Engineer
  • 8. Presented By & AGENDA • Continuous Integration. • Pipelines and Agents • Technical Debt • Package Management • Build Artifact • SQL Package • Web Deploy • Test Selenium What we’ll be covering this webinar
  • 10. Continuous integration is a development practice that requires developers to integrate code into the shared library several times a day. Each commit is verified by an automated build, allowing teams to detect problems early. Continuous Integration
  • 12. • Improving code quality based on rapid feedback. • Triggering for automated testing for every code change. • Reducing build times for rapid feedback and early detection of problems (risk reduction). • Managing technical debt better and conducting code analysis. • Reducing long, difficult, and bug-inducing merges. • Increasing confidence in code-base health long before production. Rapid feedback for code quality CI Benefits
  • 13. • Are developers in your organization committing code multiple times a day to the source control repository? • Are the same developers committing at least once a day to the main code line that's used to publish a code into the test environments? • Are the commits that are done triggering a process of automated build and unit test execution? • Do the developers look at the results of the unit test execution, and a key metric there is code coverage. Are they constantly working towards improving the code coverage from these automated processes? • When the build actually goes red and fails, do the development teams stop what they're doing and fix the build within the next 10 minutes? Do you implement it in right way and gain its benefits?
  • 14. Presented By &Continuous Integration The Four Pillars of Continuous Integration Source/VersionControl continuous integration system AutomationBuild PackageManagement
  • 16. Presented By &Continuous Integration Version Control System
  • 17. Why Source Control? Code doesn’t exist unless it’s committed into source control… Source Control is the fundamental enables of Continuous Delivery!
  • 18. Centralized Source Control System Centralized version control systems are based on the idea that there is a single “central” copy of your project somewhere (probably on a server), and programmers will “commit” their changes to this central copy. “Committing” a change simply means recording the change in the central system. Other programmers can then see this change. They can also pull down the change, and the version control tool will automatically update the contents of any files that were changed.
  • 19. Centralized Source Control System Work Flow • Pull down any changes other people have made from the central server. • Make your changes, and make sure they work properly. • Commit your changes to the central server, so other programmers can see them.
  • 20. Centralized Source Control System TFVC • Strengths • Easley scale for large code base • Granular permission control • Permits monitoring for usage • Allow exclusive file locking • Best used for • Large integrated code base • Audit & Access control down to file level • Hard to merge file types
  • 21. Distributed Source Control System distributed version control (also known as distributed revision control) is a form of version control where the complete codebase - including its full history - is mirrored on every developer's computer. This allows branching and merging to be managed automatically, increases speeds of most operations (except for pushing and pulling), improves the ability to work offline, and does not rely on a single location for backups.
  • 23. Distributed Source Control System Git • Strengths • Performing actions other than pushing and pulling change sets is extremely fast because the tool only needs to access the hard drive, not a remote server. • Committing new change sets can be done locally without anyone else seeing them. Once you have a group of change sets ready, you can push all of them at once. • Everything but pushing and pulling can be done without an internet connection. So you can work on a plane, and you won’t be forced to commit several bug fixes as one big change set. • Since each programmer has a full copy of the project repository, they can share changes with one or two other people at a time if they want to get some feedback before showing the changes to everyone.
  • 24. When sharing a codebase… Co-developing with others in a team • Will my code , • Break other code? • Introduce code quality issues? • Drop the code coverage? • Take on a new dependency? • Will the incoming code, • Break my code? • Introduce code quality issues? • Drop my code coverage? • Take on a new dependency?
  • 25. Git Hook • we could use a Git hook script to automatically build and roll-out our software to our production servers everytime there was a commit on master.
  • 26. A successful Git branching model By Vincent Driessen on Tuesday, January 05, 2010 The main branches infinite lifetime The Supporting branches Feature Hot Fix Limited lifetime
  • 27. A successful Git branching model characteristics • Decentralized but centralized • Has 2 main branches with infinite life time • Master : We consider origin/master to be the main branch where the source code of HEAD always reflects a production-ready state. • Develop/Integration: We consider origin/develop to be the main branch where the source code of HEAD always reflects a state with the latest delivered development changes for the next release. • Feature Branch • May branch off from: develop • Must merge back into: develop • Branch naming convention: anything except master, develop, release-*, or hotfix-* • Release Branch • May branch off from: develop • Must merge back into: develop and master • Branch naming convention: release-* • Hotfix Branch • May branch off from: master • Must merge back into: develop and master • Branch naming convention: hotfix-*
  • 29. Agents • Microsoft-hosted agents • If your pipelines are in Azure Pipelines, then you've got a convenient option to build and deploy using a Microsoft-hosted agent. With Microsoft-hosted agents, maintenance and upgrades are taken care of for you • Self-hosted agents • An agent that you set up and manage on your own to run build and deployment jobs is a self-hosted agent. You can use self-hosted agents in Azure Pipelines. Self-hosted agents give you more control to install dependent software needed for your builds and deployments.
  • 32. Pipelines Demo • .Net Framework pipeline • .Net Core pipeline • Unit test pipeline • Web Deploy pipeline • Angular pipeline • Db project pipeline • Configuration pipeline
  • 34. Sources and Impacts of Technical Debt • Lack of coding style and standards. • Lack of or poor design of unit test cases. • Ignoring or not understanding object orient design principles. • Monolithic classes and code libraries. • Poorly envisioned use of technology, architecture and approach. (Forgetting that all attributes of the system, affecting maintenance, user experience, scalability, and others, need to be considered). • Over-engineering code (adding or creating code that is not needed, adding custom code when existing libraries are sufficient, or creating layers or components that are not needed). • Insufficient comments and documentation. • Not writing self-documenting code (including class, method and variable names that are descriptive or indicate intent). • Taking shortcuts to meet deadlines. • Leaving dead code in place.
  • 36. Integrating Other Code Quality Tools
  • 37. Managing Security policies • WhiteSource Bolt • Detects all open source components in your software, without ever scanning your code. It provides you with real-time alerts on vulnerable and outdated open source components and generates comprehensive up-to-date inventory, licenses and security reports with only one click. • OWASP/ZAP • Popular free security tool for helping to identify vulnerabilities during the development process from OWASP. This extension shifts scanning and reporting into the Azure DevOps Pipeline model to enable quick feedback and response from development teams throughout the development life-cycle.