SlideShare una empresa de Scribd logo
1 de 16
RelayHealth Build System

                         Ron Cordell
                     RelayHealth Clinicals




  © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   1
RelayHealth Build System
Agenda

   Development/Deployment Life Cycle
   Local Developer Builds
   Automated Build System
   Deployment System
   Planned Changes




               © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   2
Development/Deploy Life Cycle


• 7 Million Lines of Code, 20+ services, 20+ IIS sites, 20+ DBs
• Ancilliary, 3rd Party processes
• SQL Server 2008R2, MongoDB, RabbitMQ …
• Developers run full system stack on their workstations
• 12 Dev Teams working on 1 Product/Code Base
• Production topology is somewhat different
• All development teams work on TRUNK (typically no
  branching/merging)
• Code changes are deployed behind soft switches
• Deploy weekly (currently)


             © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   3
Development/Deployment Life Cycle


                                                     Code/Unit
                                                   Test/Commit
                                                    (Everyday)


              Deploy to                                                                     Automated
             Production                                                                    Build/Deploy
             (Thursday)                                                                      (TEST)




                           Automated                                        Deployment
                          Build/Deploy                                      Branch Cut
                            (STAGE)                                          (Friday)



         © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   4
RelayHealth Build System
Agenda

   Development/Deployment Life Cycle
   Local Developer Builds
   Automated Build System
   Deployment System
   Planned Changes




               © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   5
Local Developer Builds -
MorningCoffee

•   Clean local output and cache folders
•   Turn off Windows Services and stop IIS
•   SVN update
•   Update SQL Server database (run delta scripts)
•   Create new Mongo collections (if any)
•   MSBUILD.EXE against targets file, DEBUG Profile, unsigned
•   Run Ndepends Analysis, Sync switches to database
•   Run Unit Tests (Nunit)
•   Create all IIS site definitions
•   Create all Windows service definitions
•   Start all services & IIS
•   WatiN Automation Tests run manually as needed

              © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   6
RelayHealth Build System
Agenda

   Development/Deployment Life Cycle
   Local Developer Builds
   Automated Build System
   Deployment System
   Planned Changes




               © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   7
Automated Build System – CC.Net


• CruiseControl .NET runs continuously on the build servers
• Performs similar steps the MorningCoffee build, broken out into
  separate CruiseControl steps.
• MSBUILD -> Release Profile, Signed & Versioned Assemblies
• CC.Net adds a deployment step and a test automation step before
  a build is called “green”
• Only green builds are promoted to Test System, usually twice daily.
• Build failures result in automated rollback of check-ins since the
  last “green” build, including the databases.




              © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   8
CC.Net Tray Status App




         © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   9
Build Step Status




         © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   10
RelayHealth Build System
Agenda

   Development/Deployment Life Cycle
   Local Developer Builds
   Automated Build System
   Deployment System
   Planned Changes




               © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   11
Deployment System


• Code deployed to Stage once a week from latest TRUNK “green”
  build.
• Code is branched for deployment in SVN
• Branch is built similarly in CC.Net for the Deployment
• Code is deployed to STAGE environment for final testing
• Automated Tests are run - BVT
• Switches as set to proper state to enable new code behavior
• QA Tests as needed




             © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   12
Deployment to Production


•   STAGE testing by QA from Monday – Wednesday
•   PROD deployment on Thursday
•   BVT / Automated Tests run on deployment in PROD
•   Switches set to correct state
•   Site is never “down” for deployment




              © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   13
RelayHealth Build System
Agenda

   Development/Deployment Life Cycle
   Local Developer Builds
   Automated Build System
   Deployment System
   Planned Changes




               © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   14
Planned Changes


• Move to a complete, enterprise-hosted TFS system?
  • TFS source control
    • TFS Build Farms, Test Farms
    • Take advantage of impact analysis, gated check-ins, traceability
• Move to a more “best of breed” model?
  • Enterprise GitHub for source control
    • Team City for build system (gated check-ins)
    • Other tools for impact analysis, test traceability, etc.
•   True Continuous Build and Deployment
    • Better Test Automation
    • Correct issues preventing continuous deployment
•   Package Management, a la NuGet
                 © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   15
Q&A

      We’re Hiring!
      Finance Director                                                 Product Manager
      Quality Assurance Analyst                                        Sr. Software Engineer
      Sr. Software Engineer                                            Client Services Director
      Entry Level Software Engineer                                    DevOps Developer
      Software Engineer                                                Scrum Master Agile Project Manager
      Software Engineer                                                Software QA Manager
      Storage Systems Engineer                                         Director of Product Development
                                                                       Sr Software Eng (.Net Asp.Net Sql Svr
      Knowledge Manager
                                                                       Visio)
      Applications Security Architect Web
                                                                       RH Intern
      Applications
      Sr. Software Engineer                                            Product Manager Agile SaaS
      Software Engineer in Test                                        Scrum Master Agile Project Manager
      Software Quality Analyst                                         Sr. Systems Administrator
      Quality Engineer 4                                               Manager User Experience
      Software Automation Engineer                                     Quality Assurance Analyst
      Sr. Software Quality Engineer                                    SW QA Automation Engineer
      Software Architect (.Net Sql Svr Asp.net)                        Project Manager EMR Implementations
      Interaction Designer                                             Software Quality Architect
                                                                       Interface Implementation Services
      Sr. Software Engineer
                                                                       Manager
      Program Director                                                 Security Analyst CISSP



      © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only.   16

Más contenido relacionado

La actualidad más candente

Pivotal Labs Open View Presentation Continuous Build
Pivotal Labs Open View Presentation Continuous BuildPivotal Labs Open View Presentation Continuous Build
Pivotal Labs Open View Presentation Continuous Buildguestc8adce
 
Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar
Adopting agile in an embedded platform  Suryakiran Kasturi & Akhil KumarAdopting agile in an embedded platform  Suryakiran Kasturi & Akhil Kumar
Adopting agile in an embedded platform Suryakiran Kasturi & Akhil KumarXP Conference India
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HEREStefan Verhoeff
 
Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10Bitbar
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsEliane Collins
 
State of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at SpotifyState of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at SpotifyMobile Delivery Days
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasKJR
 
Mobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CDMobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CDGlobalLogic Ukraine
 
Using DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudUsing DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudTechWell
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackDevOps.com
 
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...JKI
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBayDominik Dary
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
Ast 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum ProjectsAst 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum ProjectsEliane Collins
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1Sumanth Vepa
 
The Next Generation of Continuous Delivery
The Next Generation of Continuous DeliveryThe Next Generation of Continuous Delivery
The Next Generation of Continuous DeliveryIBM UrbanCode Products
 
3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile ReleasesDrew Hannay
 
02 - Build and Deployment Management
02 - Build and Deployment Management02 - Build and Deployment Management
02 - Build and Deployment ManagementSergii Shmarkatiuk
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay EuropeMichael Palotas
 

La actualidad más candente (20)

Pivotal Labs Open View Presentation Continuous Build
Pivotal Labs Open View Presentation Continuous BuildPivotal Labs Open View Presentation Continuous Build
Pivotal Labs Open View Presentation Continuous Build
 
Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar
Adopting agile in an embedded platform  Suryakiran Kasturi & Akhil KumarAdopting agile in an embedded platform  Suryakiran Kasturi & Akhil Kumar
Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
 
State of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at SpotifyState of mobile Continuous Delivery at Spotify
State of mobile Continuous Delivery at Spotify
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
 
Mobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CDMobile Apps development best practices. TDD, CI, CD
Mobile Apps development best practices. TDD, CI, CD
 
Using DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudUsing DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the Cloud
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise Stack
 
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Ast 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum ProjectsAst 2012 - Practices for Test Automation in Scrum Projects
Ast 2012 - Practices for Test Automation in Scrum Projects
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
 
The Next Generation of Continuous Delivery
The Next Generation of Continuous DeliveryThe Next Generation of Continuous Delivery
The Next Generation of Continuous Delivery
 
3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases
 
Top DevOps tools
Top DevOps toolsTop DevOps tools
Top DevOps tools
 
02 - Build and Deployment Management
02 - Build and Deployment Management02 - Build and Deployment Management
02 - Build and Deployment Management
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay Europe
 

Similar a Relay health build system

A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesIBM UrbanCode Products
 
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 applicationsSunil Dalal
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyMike Brittain
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysDynatrace
 
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...Burns Sheehan
 
Tech foundations-slides
Tech foundations-slidesTech foundations-slides
Tech foundations-slidestranquynh93
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationMaruti Gollapudi
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationMark Rendell
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Skytap Cloud
 
Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consultTomas Riha
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcityMd Jawed
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsSunil Dalal
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Dev ops for z
Dev ops for z Dev ops for z
Dev ops for z bamadhu
 
Software engineering
Software engineeringSoftware engineering
Software engineeringbartlowe
 

Similar a Relay health build system (20)

A Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for DatabasesA Continuous Delivery Safety Net for Databases
A Continuous Delivery Safety Net for Databases
 
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
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
 
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
 
Tech foundations-slides
Tech foundations-slidesTech foundations-slides
Tech foundations-slides
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
 
Continuous Delivery with a PaaS Application
Continuous Delivery with a PaaS ApplicationContinuous Delivery with a PaaS Application
Continuous Delivery with a PaaS Application
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consult
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
Resume
ResumeResume
Resume
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z
 
Dev ops for z
Dev ops for z Dev ops for z
Dev ops for z
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
MarkResume 010117
MarkResume 010117MarkResume 010117
MarkResume 010117
 

Último

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...Jeffrey Haguewood
 
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 connectorsNanddeep Nachan
 
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 SavingEdi Saputra
 
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 FresherRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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 WorkerThousandEyes
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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 businesspanagenda
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 

Último (20)

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...
 
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
 
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
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

Relay health build system

  • 1. RelayHealth Build System Ron Cordell RelayHealth Clinicals © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 1
  • 2. RelayHealth Build System Agenda  Development/Deployment Life Cycle  Local Developer Builds  Automated Build System  Deployment System  Planned Changes © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 2
  • 3. Development/Deploy Life Cycle • 7 Million Lines of Code, 20+ services, 20+ IIS sites, 20+ DBs • Ancilliary, 3rd Party processes • SQL Server 2008R2, MongoDB, RabbitMQ … • Developers run full system stack on their workstations • 12 Dev Teams working on 1 Product/Code Base • Production topology is somewhat different • All development teams work on TRUNK (typically no branching/merging) • Code changes are deployed behind soft switches • Deploy weekly (currently) © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 3
  • 4. Development/Deployment Life Cycle Code/Unit Test/Commit (Everyday) Deploy to Automated Production Build/Deploy (Thursday) (TEST) Automated Deployment Build/Deploy Branch Cut (STAGE) (Friday) © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 4
  • 5. RelayHealth Build System Agenda  Development/Deployment Life Cycle  Local Developer Builds  Automated Build System  Deployment System  Planned Changes © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 5
  • 6. Local Developer Builds - MorningCoffee • Clean local output and cache folders • Turn off Windows Services and stop IIS • SVN update • Update SQL Server database (run delta scripts) • Create new Mongo collections (if any) • MSBUILD.EXE against targets file, DEBUG Profile, unsigned • Run Ndepends Analysis, Sync switches to database • Run Unit Tests (Nunit) • Create all IIS site definitions • Create all Windows service definitions • Start all services & IIS • WatiN Automation Tests run manually as needed © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 6
  • 7. RelayHealth Build System Agenda  Development/Deployment Life Cycle  Local Developer Builds  Automated Build System  Deployment System  Planned Changes © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 7
  • 8. Automated Build System – CC.Net • CruiseControl .NET runs continuously on the build servers • Performs similar steps the MorningCoffee build, broken out into separate CruiseControl steps. • MSBUILD -> Release Profile, Signed & Versioned Assemblies • CC.Net adds a deployment step and a test automation step before a build is called “green” • Only green builds are promoted to Test System, usually twice daily. • Build failures result in automated rollback of check-ins since the last “green” build, including the databases. © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 8
  • 9. CC.Net Tray Status App © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 9
  • 10. Build Step Status © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 10
  • 11. RelayHealth Build System Agenda  Development/Deployment Life Cycle  Local Developer Builds  Automated Build System  Deployment System  Planned Changes © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 11
  • 12. Deployment System • Code deployed to Stage once a week from latest TRUNK “green” build. • Code is branched for deployment in SVN • Branch is built similarly in CC.Net for the Deployment • Code is deployed to STAGE environment for final testing • Automated Tests are run - BVT • Switches as set to proper state to enable new code behavior • QA Tests as needed © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 12
  • 13. Deployment to Production • STAGE testing by QA from Monday – Wednesday • PROD deployment on Thursday • BVT / Automated Tests run on deployment in PROD • Switches set to correct state • Site is never “down” for deployment © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 13
  • 14. RelayHealth Build System Agenda  Development/Deployment Life Cycle  Local Developer Builds  Automated Build System  Deployment System  Planned Changes © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 14
  • 15. Planned Changes • Move to a complete, enterprise-hosted TFS system? • TFS source control • TFS Build Farms, Test Farms • Take advantage of impact analysis, gated check-ins, traceability • Move to a more “best of breed” model? • Enterprise GitHub for source control • Team City for build system (gated check-ins) • Other tools for impact analysis, test traceability, etc. • True Continuous Build and Deployment • Better Test Automation • Correct issues preventing continuous deployment • Package Management, a la NuGet © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 15
  • 16. Q&A We’re Hiring! Finance Director Product Manager Quality Assurance Analyst Sr. Software Engineer Sr. Software Engineer Client Services Director Entry Level Software Engineer DevOps Developer Software Engineer Scrum Master Agile Project Manager Software Engineer Software QA Manager Storage Systems Engineer Director of Product Development Sr Software Eng (.Net Asp.Net Sql Svr Knowledge Manager Visio) Applications Security Architect Web RH Intern Applications Sr. Software Engineer Product Manager Agile SaaS Software Engineer in Test Scrum Master Agile Project Manager Software Quality Analyst Sr. Systems Administrator Quality Engineer 4 Manager User Experience Software Automation Engineer Quality Assurance Analyst Sr. Software Quality Engineer SW QA Automation Engineer Software Architect (.Net Sql Svr Asp.net) Project Manager EMR Implementations Interaction Designer Software Quality Architect Interface Implementation Services Sr. Software Engineer Manager Program Director Security Analyst CISSP © 2011 RelayHealth and/or its affiliates. All Rights Reserved. Proprietary and Confidential. For Internal Use Only. 16