SlideShare a Scribd company logo
1 of 25
Download to read offline
Hydra: Continuous Integration and Testing for
Demanding People: The Basics
Sander van der Burg
Conference Compass
March 13, 2014
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Software development
Imagine a development team:
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Software development
Product development seems to be progressing just fine:
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Software development
But suddenly:
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Frustration!
The product does not work or behaves incorrectly
There is a large time window in which it is unknown whether
something still works
A product may not be delivered in time because of breakage
It may take a lot of effort to fix it
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Confusion!
You may wonder:
Why is it broken?
What exactly is broken?
When did it break?
Who did it?
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Solution: Continuous integration
Continuous Integration is a software development
practice where members of a team integrate their work
frequently, usually each person integrates at least daily -
leading to multiple integrations per day. Each integration
is verified by an automated build (including test) to
detect integration errors as quickly as possible.
– Martin Fowler
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Continuous integration solutions
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Continuous integration solutions
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Many more available
Tinderbox
build farm
BuildHive
Atlassian Bamboo
Microsoft Team Foundation Server
...
Hydra
Hydra: A Nix-based continuous integration server:
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra
Hydra: A Nix-based continuous integration server:
Generic. Supports multiple programming language
environments and component technologies.
Deployment. Build and test environments are deployed
automatically and all dependencies are ensured to be present
and correct.
Variability. Multiple versions/variants of dependencies can
safely coexist.
Multi platform support. Builds can be easily delegated to
machines with a different operating system.
Scalability. Builds are transparently delegated to any machine
in a cluster capable of building it.
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra overview
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra overview
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Components
Queue runner: Regularly checks what has changed and
what to build
Evaluator: Builds the jobs
Server: Web application making builds and test results
available
Nix: Package mananger responsible for the actual
builds and depedency management
Hydra cluster
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra cluster
Our build cluster :-)
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra server: Projects
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra server: Jobsets
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra server: Evaluations
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra server: Jobs
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra server: Build products
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra server: Jobset configuration
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Hydra server: Queue
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Trivia
Hydra has been in use since March 2013.
All apps have been branded and built with it since then
Also the new backend related projects are built and tested on
Hydra
Current cluster installation has done approx. 11500 builds
since December 2013
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Availability
Nix and Hydra are available as free and open source software under
the LGPLv2 and the GPLv3 licenses:
Nix: http://nixos.org/nix
Hydra: http://nixos.org/hydra
NixOS’ Hydra server: http://hydra.nixos.org
Nix can be used on any Linux distribution, NixOS, Mac OS X,
FreeBSD, and Windows (through Cygwin)
Hydra can be used on any Linux distribution
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
Questions
Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People

More Related Content

What's hot

Kubernetes and container security
Kubernetes and container securityKubernetes and container security
Kubernetes and container security
Volodymyr Shynkar
 

What's hot (20)

IPexpo - What is DevOps, and why should infrastructure operations care?
IPexpo - What is DevOps, and why should infrastructure operations care?IPexpo - What is DevOps, and why should infrastructure operations care?
IPexpo - What is DevOps, and why should infrastructure operations care?
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
LlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and NotaryLlinuxKit security, Security Scanning and Notary
LlinuxKit security, Security Scanning and Notary
 
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...Using Docker Containers to Improve Reproducibility in Software and Web Engine...
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
 
Swimming upstream
Swimming upstreamSwimming upstream
Swimming upstream
 
Containers 101
Containers 101Containers 101
Containers 101
 
Security in a containerized world - Jessie Frazelle
Security in a containerized world - Jessie FrazelleSecurity in a containerized world - Jessie Frazelle
Security in a containerized world - Jessie Frazelle
 
There is no container - Ori Pekelman
There is no container - Ori PekelmanThere is no container - Ori Pekelman
There is no container - Ori Pekelman
 
Securing Applications and Pipelines on a Container Platform
Securing Applications and Pipelines on a Container PlatformSecuring Applications and Pipelines on a Container Platform
Securing Applications and Pipelines on a Container Platform
 
Ryan Koop's Docker Chicago Meetup Demo March 12 2014
Ryan Koop's Docker Chicago Meetup Demo March 12 2014Ryan Koop's Docker Chicago Meetup Demo March 12 2014
Ryan Koop's Docker Chicago Meetup Demo March 12 2014
 
Docker and kernel security
Docker and kernel securityDocker and kernel security
Docker and kernel security
 
OpenStack Days Krakow
OpenStack Days KrakowOpenStack Days Krakow
OpenStack Days Krakow
 
Continuous Security in DevOps
Continuous Security in DevOpsContinuous Security in DevOps
Continuous Security in DevOps
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on Rails
 
Getting started with docker
Getting started with dockerGetting started with docker
Getting started with docker
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
 
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
Securing the Software Supply Chain with TUF and Docker - Justin Cappos and Sa...
 
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOpsGérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
Gérer vos clusters Kubernetes avec Flux 2 et la méthode GitOps
 
Kubernetes and container security
Kubernetes and container securityKubernetes and container security
Kubernetes and container security
 
Docker & Daily DevOps
Docker & Daily DevOpsDocker & Daily DevOps
Docker & Daily DevOps
 

Similar to Hydra: Continuous Integration and Testing for Demanding People: The Basics

Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
Positive Hack Days
 
Achieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMixAchieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMix
Ryan Baxter
 
Agile Code Reviews: Supporting collaboration and improving production uptime ...
Agile Code Reviews: Supporting collaboration and improving production uptime ...Agile Code Reviews: Supporting collaboration and improving production uptime ...
Agile Code Reviews: Supporting collaboration and improving production uptime ...
Atlassian
 
Mobile Apps Using AngularJS - Adam Klein @ AngularJS IL
Mobile Apps Using AngularJS - Adam Klein @ AngularJS ILMobile Apps Using AngularJS - Adam Klein @ AngularJS IL
Mobile Apps Using AngularJS - Adam Klein @ AngularJS IL
Ron Gershinsky
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland
 

Similar to Hydra: Continuous Integration and Testing for Demanding People: The Basics (20)

A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software Deployment
 
Cloud-native Patterns
Cloud-native PatternsCloud-native Patterns
Cloud-native Patterns
 
Cloud-native Patterns (July 4th, 2019)
Cloud-native Patterns (July 4th, 2019)Cloud-native Patterns (July 4th, 2019)
Cloud-native Patterns (July 4th, 2019)
 
VMworld 2013: Developer Services on vCloud Hybrid Services
VMworld 2013: Developer Services on vCloud Hybrid Services VMworld 2013: Developer Services on vCloud Hybrid Services
VMworld 2013: Developer Services on vCloud Hybrid Services
 
Android's security architecture
Android's security architectureAndroid's security architecture
Android's security architecture
 
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
 
Software Factory & TVD-REN the Vaadin framework of Trivadis
Software Factory & TVD-REN the Vaadin framework of TrivadisSoftware Factory & TVD-REN the Vaadin framework of Trivadis
Software Factory & TVD-REN the Vaadin framework of Trivadis
 
Achieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMixAchieving Developer Nirvana With Codename: BlueMix
Achieving Developer Nirvana With Codename: BlueMix
 
Agile Code Reviews: Supporting collaboration and improving production uptime ...
Agile Code Reviews: Supporting collaboration and improving production uptime ...Agile Code Reviews: Supporting collaboration and improving production uptime ...
Agile Code Reviews: Supporting collaboration and improving production uptime ...
 
Model-driven Distributed Software Deployment
Model-driven Distributed Software DeploymentModel-driven Distributed Software Deployment
Model-driven Distributed Software Deployment
 
Silverlight Demos For Beginners
Silverlight Demos For BeginnersSilverlight Demos For Beginners
Silverlight Demos For Beginners
 
Impact of CD, Clean Code, ... on Team Performance
Impact of CD, Clean Code, ... on Team PerformanceImpact of CD, Clean Code, ... on Team Performance
Impact of CD, Clean Code, ... on Team Performance
 
Mobile Apps Using AngularJS - Adam Klein @ AngularJS IL
Mobile Apps Using AngularJS - Adam Klein @ AngularJS ILMobile Apps Using AngularJS - Adam Klein @ AngularJS IL
Mobile Apps Using AngularJS - Adam Klein @ AngularJS IL
 
Software Engineering in the Continuous Age
Software Engineering in the Continuous AgeSoftware Engineering in the Continuous Age
Software Engineering in the Continuous Age
 
AWS re:invent: The secret to building and delivering amazing apps at scale
AWS re:invent: The secret to building and delivering amazing apps at scaleAWS re:invent: The secret to building and delivering amazing apps at scale
AWS re:invent: The secret to building and delivering amazing apps at scale
 
AWS re:invent talk: The secrets to building and delivering amazing apps at scale
AWS re:invent talk: The secrets to building and delivering amazing apps at scaleAWS re:invent talk: The secrets to building and delivering amazing apps at scale
AWS re:invent talk: The secrets to building and delivering amazing apps at scale
 
AWS re:invent talk: The secrets to building and delivering amazing apps at scale
AWS re:invent talk: The secrets to building and delivering amazing apps at scaleAWS re:invent talk: The secrets to building and delivering amazing apps at scale
AWS re:invent talk: The secrets to building and delivering amazing apps at scale
 
AWS re:Invent "The secrets to building and delivering amazing apps at scale"
AWS re:Invent "The secrets to building and delivering amazing apps at scale"AWS re:Invent "The secrets to building and delivering amazing apps at scale"
AWS re:Invent "The secrets to building and delivering amazing apps at scale"
 
AWS re:Invent "The secrets to building and delivering amazing apps at scale"
AWS re:Invent "The secrets to building and delivering amazing apps at scale"AWS re:Invent "The secrets to building and delivering amazing apps at scale"
AWS re:Invent "The secrets to building and delivering amazing apps at scale"
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 

More from Sander van der Burg

More from Sander van der Burg (19)

The Monitoring Playground
The Monitoring PlaygroundThe Monitoring Playground
The Monitoring Playground
 
nix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic frameworknix-processmgmt: An experimental Nix-based process manager-agnostic framework
nix-processmgmt: An experimental Nix-based process manager-agnostic framework
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutions
 
Dysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deploymentDysnomia: complementing Nix deployments with state deployment
Dysnomia: complementing Nix deployments with state deployment
 
Automating Mendix application deployments with Nix
Automating Mendix application deployments with NixAutomating Mendix application deployments with Nix
Automating Mendix application deployments with Nix
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software Deployment
 
Techniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesTechniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processes
 
A Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software ComponentsA Generic Approach for Deploying and Upgrading Mutable Software Components
A Generic Approach for Deploying and Upgrading Mutable Software Components
 
Deploying .NET services with Disnix
Deploying .NET services with DisnixDeploying .NET services with Disnix
Deploying .NET services with Disnix
 
A Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented SystemsA Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented Systems
 
Pull Deployment of Services
Pull Deployment of ServicesPull Deployment of Services
Pull Deployment of Services
 
Disnix: A toolset for distributed deployment
Disnix: A toolset for distributed deploymentDisnix: A toolset for distributed deployment
Disnix: A toolset for distributed deployment
 
Automated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented SystemAutomated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented System
 
Deploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package managerDeploying .NET applications with the Nix package manager
Deploying .NET applications with the Nix package manager
 
Pull Deployment of Services: Introduction, Progress and Challenges
Pull Deployment of Services: Introduction, Progress and ChallengesPull Deployment of Services: Introduction, Progress and Challenges
Pull Deployment of Services: Introduction, Progress and Challenges
 
Software Deployment in a Dynamic Cloud
Software Deployment in a Dynamic CloudSoftware Deployment in a Dynamic Cloud
Software Deployment in a Dynamic Cloud
 
Atomic Upgrading of Distributed Systems
Atomic Upgrading of Distributed SystemsAtomic Upgrading of Distributed Systems
Atomic Upgrading of Distributed Systems
 
Model-driven Distributed Software Deployment
Model-driven Distributed Software DeploymentModel-driven Distributed Software Deployment
Model-driven Distributed Software Deployment
 
Model-driven Distributed Software Deployment laymen's talk
Model-driven Distributed Software Deployment laymen's talkModel-driven Distributed Software Deployment laymen's talk
Model-driven Distributed Software Deployment laymen's talk
 

Recently uploaded

JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
Max Lee
 

Recently uploaded (20)

iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
A Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data MigrationA Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data Migration
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 

Hydra: Continuous Integration and Testing for Demanding People: The Basics

  • 1. Hydra: Continuous Integration and Testing for Demanding People: The Basics Sander van der Burg Conference Compass March 13, 2014 Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 2. Software development Imagine a development team: Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 3. Software development Product development seems to be progressing just fine: Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 4. Software development But suddenly: Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 5. Frustration! The product does not work or behaves incorrectly There is a large time window in which it is unknown whether something still works A product may not be delivered in time because of breakage It may take a lot of effort to fix it Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 6. Confusion! You may wonder: Why is it broken? What exactly is broken? When did it break? Who did it? Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 7. Solution: Continuous integration Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. – Martin Fowler Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 8. Continuous integration solutions Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 9. Continuous integration solutions Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People Many more available Tinderbox build farm BuildHive Atlassian Bamboo Microsoft Team Foundation Server ...
  • 10. Hydra Hydra: A Nix-based continuous integration server: Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 11. Hydra Hydra: A Nix-based continuous integration server: Generic. Supports multiple programming language environments and component technologies. Deployment. Build and test environments are deployed automatically and all dependencies are ensured to be present and correct. Variability. Multiple versions/variants of dependencies can safely coexist. Multi platform support. Builds can be easily delegated to machines with a different operating system. Scalability. Builds are transparently delegated to any machine in a cluster capable of building it. Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 12. Hydra overview Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 13. Hydra overview Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People Components Queue runner: Regularly checks what has changed and what to build Evaluator: Builds the jobs Server: Web application making builds and test results available Nix: Package mananger responsible for the actual builds and depedency management
  • 14. Hydra cluster Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 15. Hydra cluster Our build cluster :-) Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 16. Hydra server: Projects Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 17. Hydra server: Jobsets Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 18. Hydra server: Evaluations Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 19. Hydra server: Jobs Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 20. Hydra server: Build products Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 21. Hydra server: Jobset configuration Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 22. Hydra server: Queue Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 23. Trivia Hydra has been in use since March 2013. All apps have been branded and built with it since then Also the new backend related projects are built and tested on Hydra Current cluster installation has done approx. 11500 builds since December 2013 Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 24. Availability Nix and Hydra are available as free and open source software under the LGPLv2 and the GPLv3 licenses: Nix: http://nixos.org/nix Hydra: http://nixos.org/hydra NixOS’ Hydra server: http://hydra.nixos.org Nix can be used on any Linux distribution, NixOS, Mac OS X, FreeBSD, and Windows (through Cygwin) Hydra can be used on any Linux distribution Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People
  • 25. Questions Sander van der Burg Hydra: Continuous Integration and Testing for Demanding People