SlideShare a Scribd company logo
Beginners Guide to Continuous Integration with SharePoint 2010By James Fisk
OverviewTheoryPracticesDemo – Whistle stop tour of Team CityBuild Master
OverviewTheory PracticesDemo – Whistle stop tour of Team CityBuild 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 CILong integration processIt is scaryNot everyone knows how deploy the softwareError proneYou look incompetent
It works on my machine!
Why do itSoftware is ready to go at anytimeThrough practices the team take on a shared responsibilityThe team are well-versed with the install procedureKnow quantityMuscle memory
OverviewTheoryPracticesDemo – Configure Team CityBuild 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 oneIf possible!
Keep the build green
Treat the build as a factory assembly line
A little thought about structure
What I’m usingDevrigWindows server 2008 R2 64bitTortisesvnVisual studio 2010SharePoint 2010 – Single server installVisualSVNBuild serverWindows server 2008 R2 64bitTortisesvnVisual studio 2010SharePoint 2010 – Single server installVisualSVNVisual server SVNTeamcity 5.1
OverviewTheoryPracticesDemo – Configure Team CityBuild Master
What just happened there(CI Build Process with CI server)Developers machine1. Get latest and run build script3. CI Server detects change and builds latest using build script.2. Commits codeSource code repository
OverviewTheoryPracticesDemo – Whistle stop tour of Team CityBuild Master
Build Master As a role
Not everybody's cup of tea
It’s like being a parent
Take it in turns
Useful URLS :-http://martinfowler.com/articles/continuousIntegration.html
Martin Fowler’s continuous integration article

More Related Content

PPTX
Continuous integration
PDF
Component testing with cypress
PDF
Agile Testing - A quality culture in the company's core business
PPTX
What Visual Studio Code can do for Java Development
PDF
Continuous integration with docker, buildbot and git
PPT
Continuous integration (light talk)
PPTX
De Zero a Produção - João Jesus
PPTX
Continuous integration per le tue applicazioni mobile
Continuous integration
Component testing with cypress
Agile Testing - A quality culture in the company's core business
What Visual Studio Code can do for Java Development
Continuous integration with docker, buildbot and git
Continuous integration (light talk)
De Zero a Produção - João Jesus
Continuous integration per le tue applicazioni mobile

What's hot (19)

PPTX
Continuous Integration
PPTX
Beginners Guide to CI
PPTX
Industrialization of Android Development (Concept)
ODP
Cloud Needs Devops
PDF
I'm watir
PPT
Continous Integration: A Case Study
PDF
Dev ops: Continuous delivery and Windows Azure
PPTX
Bootstrapping Quality
ODP
Continous integration
PPT
Evergreen build
PPTX
Why you should switch to Cypress for modern web testing?
PPTX
NodeJS and what is actually does
PPTX
PDF
Saving Time and Money with Vagrant
PPTX
Diy cont integration_dc_cebu
PDF
Comment améliorer le quotidien des Développeurs PHP ?
PPTX
That worked before
PDF
Testing, CI and CD in the real world
PPTX
Intro to Continuous Integration
Continuous Integration
Beginners Guide to CI
Industrialization of Android Development (Concept)
Cloud Needs Devops
I'm watir
Continous Integration: A Case Study
Dev ops: Continuous delivery and Windows Azure
Bootstrapping Quality
Continous integration
Evergreen build
Why you should switch to Cypress for modern web testing?
NodeJS and what is actually does
Saving Time and Money with Vagrant
Diy cont integration_dc_cebu
Comment améliorer le quotidien des Développeurs PHP ?
That worked before
Testing, CI and CD in the real world
Intro to Continuous Integration
Ad

Similar to Continuous integration (20)

PPT
Continuous Integration: A Case Study
PPT
Continuous integration
PPT
Continuous Integration
ODP
Buildbot introduction
ODP
Buildbot
PDF
Continuous Integration - What even is it?
PPTX
Introducing Continuous Integration Using Vsts
PDF
Continuous Everything
PPTX
Continuous integration using jenkins
PDF
Continuous Everything
PPT
Continuous integration
PPTX
Lets talk about CI CD Pipeline in Agile
PPTX
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
PPTX
OVerview of Jenkins - A WIP pPT that needs to be refined
PDF
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
PPT
Continuous Integration and Builds
PDF
Continuous Integration at T3CON08
PDF
Intro to CI/CD using Docker
PPTX
Adrian marinica continuous integration in the visual studio world
PDF
Deploy & Continunous Integration - TDC Floripa 2015
Continuous Integration: A Case Study
Continuous integration
Continuous Integration
Buildbot introduction
Buildbot
Continuous Integration - What even is it?
Introducing Continuous Integration Using Vsts
Continuous Everything
Continuous integration using jenkins
Continuous Everything
Continuous integration
Lets talk about CI CD Pipeline in Agile
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
OVerview of Jenkins - A WIP pPT that needs to be refined
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
Continuous Integration and Builds
Continuous Integration at T3CON08
Intro to CI/CD using Docker
Adrian marinica continuous integration in the visual studio world
Deploy & Continunous Integration - TDC Floripa 2015
Ad

Recently uploaded (20)

PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
cuic standard and advanced reporting.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Spectroscopy.pptx food analysis technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Cloud computing and distributed systems.
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Encapsulation theory and applications.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
cuic standard and advanced reporting.pdf
sap open course for s4hana steps from ECC to s4
Spectral efficient network and resource selection model in 5G networks
Spectroscopy.pptx food analysis technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
Cloud computing and distributed systems.
MYSQL Presentation for SQL database connectivity
Encapsulation theory and applications.pdf
Unlocking AI with Model Context Protocol (MCP)
Reach Out and Touch Someone: Haptics and Empathic Computing
Review of recent advances in non-invasive hemoglobin estimation
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

Continuous integration

Editor's Notes

  • #2: Introduce the talk
  • #3: 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.
  • #5: 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?
  • #6: 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.
  • #7: No excuses
  • #8: 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.
  • #9: Should the “Configure Team City” be darker?
  • #10: Everything in one place.
  • #11: Get the computer to do the boring work for you, they love that sort of thing.Talk through MSBUILD scripts and other scripting languages.
  • #12: The build should check itself, meaning it should confirm that the code builds, tests pass, code looks good, code is well covered, etc.
  • #13: 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.
  • #14: With the dev build the commit of code to the source code repos should cause a build, very important.
  • #15: You need fast feedback, a slow build will mean you are hanging around for the build to finish, leading to ignoring it
  • #16: Your integration system test should be as close to production as possibleRemove deployment issues to live.Greater confidence.
  • #17: All build artefacts should be available.Testing team can use thisManagers evenOr anybody interested in installing and playing.
  • #18: Feedback feedbackfeedback
  • #19: Use computers to take away the boring thingsHumans hate repetitionLess error proneKnow quantity
  • #20: Sprint 0Easy from beginningHarder to retrofit, no excuse to not do it though.
  • #21: A green build is a good buildGreen build means that you can have confidenceEveryone is happy.
  • #22: Mention the Skoda advert.
  • #23: Talk about the solution structure
  • #25: Remember to add this :-Reference Syntax: %env.MSBuild%Value: %system.DotNetFramework4.0_x86_Path%To the environment settings for the build config.
  • #28: 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.
  • #29: It is hardHigh profile
  • #30: You may seem to nag all the timePeople may not unde3rstand way it is important, hence the parent analogy.
  • #31: Everyone in the team should share the responsibilityThis means that everyone understands the build.