SlideShare una empresa de Scribd logo
1 de 32
Beginners Guide to Continuous Integration with SharePoint 2010 By James Fisk
Overview Theory Practices Demo – Whistle stop tour of Team City Build Master
Overview Theory  Practices Demo – Whistle stop tour of Team City Build Master
What is Continuous Integration? “To ensure software is continuously tested, deployed, with little or no bugs and the team has full visibility of the build.” James Fisk  2010
Life before CI Long integration process It is scary Not everyone knows how deploy the software Error prone You look incompetent
It works on my machine!
Why do it Software is ready to go at anytime Through practices the team take on a shared responsibility The team are well-versed with the install procedure Know quantity Muscle memory
Overview Theory Practices Demo – Configure Team City Build Master
Single source code repository
Automate the build
Build should be self testing
Team members commit to mainline many times a day
A commit kicks off a build on integration server
Keep the CI build fast
Test on clone of production
Executable should be easy to hold of
Everyone sees what is happening
Automate deployment
Do it from day one If possible!
Keep the build green
Treat the build as a factory assembly line
A little thought about structure
What I’m using Devrig Windows server 2008 R2 64bit Tortisesvn Visual studio 2010 SharePoint 2010 – Single server install VisualSVN Build server Windows server 2008 R2 64bit Tortisesvn Visual studio 2010 SharePoint 2010 – Single server install VisualSVN Visual server SVN Teamcity 5.1
Overview Theory Practices Demo – Configure Team City Build Master
What just happened there(CI Build Process with CI server) Developers machine 1. Get latest and run build script 3. CI Server detects change and builds latest using build script. 2. Commits code Source code repository
Overview Theory Practices Demo – Whistle stop tour of Team City Build Master
Build Master As a role
Not everybody's cup of tea
It’s like being a parent
Take it in turns
Useful URLS :- ,[object Object]
Martin Fowler’s continuous integration article

Más contenido relacionado

La actualidad más candente

Testing, CI and CD in the real world
Testing, CI and CD in the real worldTesting, CI and CD in the real world
Testing, CI and CD in the real world
Roc Boronat
 

La actualidad más candente (19)

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Beginners Guide to CI
Beginners Guide to CIBeginners Guide to CI
Beginners Guide to CI
 
Industrialization of Android Development (Concept)
Industrialization of Android Development (Concept)Industrialization of Android Development (Concept)
Industrialization of Android Development (Concept)
 
Cloud Needs Devops
Cloud Needs DevopsCloud Needs Devops
Cloud Needs Devops
 
I'm watir
I'm watirI'm watir
I'm watir
 
Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case Study
 
Dev ops: Continuous delivery and Windows Azure
Dev ops: Continuous delivery and Windows AzureDev ops: Continuous delivery and Windows Azure
Dev ops: Continuous delivery and Windows Azure
 
Bootstrapping Quality
Bootstrapping QualityBootstrapping Quality
Bootstrapping Quality
 
Continous integration
Continous integrationContinous integration
Continous integration
 
Evergreen build
Evergreen buildEvergreen build
Evergreen build
 
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
 
NodeJS and what is actually does
NodeJS and what is actually doesNodeJS and what is actually does
NodeJS and what is actually does
 
DevOps
DevOpsDevOps
DevOps
 
Saving Time and Money with Vagrant
Saving Time and Money with VagrantSaving Time and Money with Vagrant
Saving Time and Money with Vagrant
 
Diy cont integration_dc_cebu
Diy cont integration_dc_cebuDiy cont integration_dc_cebu
Diy cont integration_dc_cebu
 
Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?
 
That worked before
That worked beforeThat worked before
That worked before
 
Testing, CI and CD in the real world
Testing, CI and CD in the real worldTesting, CI and CD in the real world
Testing, CI and CD in the real world
 
Intro to Continuous Integration
Intro to Continuous IntegrationIntro to Continuous Integration
Intro to Continuous Integration
 

Similar a Continuous integration

Buildbot introduction
Buildbot introductionBuildbot introduction
Buildbot introduction
williewu
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
eleksdev
 

Similar a Continuous integration (20)

Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case Study
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Buildbot introduction
Buildbot introductionBuildbot introduction
Buildbot introduction
 
Buildbot
BuildbotBuildbot
Buildbot
 
Continuous Integration - What even is it?
Continuous Integration - What even is it?Continuous Integration - What even is it?
Continuous Integration - What even is it?
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkins
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
 
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and Builds
 
Continuous Integration at T3CON08
Continuous Integration at T3CON08Continuous Integration at T3CON08
Continuous Integration at T3CON08
 
Intro to CI/CD using Docker
Intro to CI/CD using DockerIntro to CI/CD using Docker
Intro to CI/CD using Docker
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio world
 
Deploy & Continunous Integration - TDC Floripa 2015
Deploy & Continunous Integration - TDC Floripa 2015Deploy & Continunous Integration - TDC Floripa 2015
Deploy & Continunous Integration - TDC Floripa 2015
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

Continuous integration

Notas del editor

  1. Introduce the talk
  2. Ask the questions :-Dev - Who hates arriving in on Monday and found the code does not compile?ITPro - Who enjoys installing new software onto the live servers?Management - Why does the dev team never the release right first time?Theory CI is just not about tools, it really is about discipline, mindset, collective responsibility, etc. The tools are really there to assist the team in becoming an effective team that practice CI well.Practices In martainfolwer’s article, which will be in this slide deck, he lists and discuses the 10 practices which, if followed, helps your team get the most out of CIDemo Manual CI This demo will take your through manual process of following CI, it’s really to give you a feel for the process and how tools can help speed things up a bitDemo This will show how to configure team city to do a SP 2010 build, complete with MSBUILD build script writing wwwoooooooBuild master I’ll finish up by talking about the build master role, and how it is important for a team to have this role.
  3. Talk about the factory line Talk about what continuous integration is, and explain how is difficult it is to explain, however, the proof is in the pudding.People get it after you show them. People, may not see the need to install a build server, and build the software again on that box, what's wrong with building and testing software?
  4. Before ci :-Developers have no idea whether or not the code they are committing is correct. Building the software for deployment, maybe to long and difficult.You will have less confidence in the code, whether building it, or deploying it.Generally nobody like deploying the code, because it is boring,reputationus, error prone, yet high profile. It goes wrong and ka boom.Never getting the deployment right first time make you look a bit, hence why you do not release all that much.
  5. No excuses
  6. Deployment is a no brainerBecause it is easy, no one minds doing it.You know how long the build will take, because you build and deploy a lot.
  7. Should the “Configure Team City” be darker?
  8. Everything in one place.
  9. Get the computer to do the boring work for you, they love that sort of thing.Talk through MSBUILD scripts and other scripting languages.
  10. The build should check itself, meaning it should confirm that the code builds, tests pass, code looks good, code is well covered, etc.
  11. The dev team should commit code a lot, new code still on there dev boxes is waste, good practice to follow is if you are doing unit test, tdd, check in after each test passes. If you are not doing unit testing, which you should, then commit at a natural break. But still many times a day.
  12. With the dev build the commit of code to the source code repos should cause a build, very important.
  13. You need fast feedback, a slow build will mean you are hanging around for the build to finish, leading to ignoring it
  14. Your integration system test should be as close to production as possibleRemove deployment issues to live.Greater confidence.
  15. All build artefacts should be available.Testing team can use thisManagers evenOr anybody interested in installing and playing.
  16. Feedback feedbackfeedback
  17. Use computers to take away the boring thingsHumans hate repetitionLess error proneKnow quantity
  18. Sprint 0Easy from beginningHarder to retrofit, no excuse to not do it though.
  19. A green build is a good buildGreen build means that you can have confidenceEveryone is happy.
  20. Mention the Skoda advert.
  21. Talk about the solution structure
  22. Remember to add this :-Reference Syntax: %env.MSBuild%Value: %system.DotNetFramework4.0_x86_Path%To the environment settings for the build config.
  23. Build master is a distinct role.You must consider adding as a role.The build server is not fire forget, it grows with the project.
  24. It is hardHigh profile
  25. You may seem to nag all the timePeople may not unde3rstand way it is important, hence the parent analogy.
  26. Everyone in the team should share the responsibilityThis means that everyone understands the build.