SlideShare a Scribd company logo
PORTABILITY TESTING WITH
JENKINS
OXID DevOps Meetup Part 1 of
2
SITUATION:
©2018 OXID eSales AG
The application is failing in different environments!
Oh no! How can we avoid this?
Portability testing is the process of
determining the degree of ease or difficulty
to which a software component or
application can be effectively and
efficiently transferred from one hardware,
software or other operational or usage
environment to another.
©2018 OXID eSales AG
> https://en.wikipedia.org/w/index.php?title=Portability_testing&oldid=815959077
WITH PORTABILITY TESTING:
For us this translates to awareness about the different Versions of:
> PHP
> Database Server
> Webserver
But could also be about:
> Hardware
> Operating System
> Different APIs
WHAT DOES THAT MEAN FOR OXID?
©2018 OXID eSales AG
©2018 OXID eSales AG
But how to do it in Jenkins?
USING THE MATRIX AND THE DYNAMIC AXIS PLUGIN
©2018 OXID eSales AG
Prerequisites:
> Matrix Project Plugin[1]
> DynamicAxis Plugin[2]
Providing 4 different axis:
> User-defined Axis
> Dynamic Axis
> Slaves
> Label expression
> [1] https://wiki.jenkins.io/display/JENKINS/Matrix+Project+Plugin
> [2] https://wiki.jenkins.io/display/JENKINS/DynamicAxis+Plugin
USER DEFINED AXIS
©2018 OXID eSales AG
Name: Variable name to be used in the job
Values: content of the variable separated by space
Example:
DYNAMIC AXIS
Same as the User-defined axis, but the content is taken from a:
> Parameter
> Build Node variable
> globally-defined variable
> OS environment setting
RESULT
SLAVES
©2018 OXID eSales AG
Label: same as from Node definition
Multiple selections will result in multiple build jobs!
LABEL EXPRESSIONS
Same purpose but:
Expressions instead of GUI
SPLIT UP THE TASKS
ACROSS SEVERAL JOBS
©2018 OXID eSales AG
> Test runner pipeline - example at the right side
> Build job
> unit, integration and acceptance tests
> additional tests (encoding, coverage, ...)
USING PIPELINES TO COVER MULTIPLE TEST CONSTELLATIONS
©2018 OXID eSales AG
RESOLUTION:
©2018 OXID eSales AG
The application is being tested in supported environments!
Q&A - ROUND 1
©2018 OXID eSales AG
Smart E-Commerce Solutions
oxid-esales.com
BEYOND EXECUTORS
- DEALING WITH
LIMITS
OXID DevOps Meetup Part 2 of
2
NEW PROBLEM:
©2018 OXID eSales AG
We are testing so much that everything is failing!
©2018 OXID eSales AG
So what can we do, to get back in control?
Add more hardware?
Sure, but first let‘s get the most out of what we have!
BASIC APPROACH - NODE SETTING „# OF EXECUTORS“
©2018 OXID eSales AG
Rule of thumb:
Number of CPU cores
USE THE SAME HOST ON MULTIPLE NODES
©2018 OXID eSales AG
Let‘s talk about management jobs ;-)
BUILD THROTTLING
©2018 OXID eSales AG
Along with Pipelines comes https://wiki.jenkins.io/display/JENKINS/Branch+API+Plugin providing the throttle option
Provides
> Less interference
Does not Provide
> Exact control
LOCKABLE RESOURCES PLUGIN
©2018 OXID eSales AG
Dealing with external limits
For example
> Hardware
 Screens
 Printers
> User accounts
> Services
DYNAMICALLY SWITCH BETWEEN RESOURCES VIA GROOVY
©2018 OXID eSales AG
RESOLUTION:
©2018 OXID eSales AG
Even when under maximum load everything will run smoothly.
Q&A - ROUND 2
©2018 OXID eSales AG
THE FUTURE
©2018 OXID eSales AG

More Related Content

What's hot

We Are OpenStack: Jonathan Bryce, OpenStack Foundation
We Are OpenStack: Jonathan Bryce, OpenStack FoundationWe Are OpenStack: Jonathan Bryce, OpenStack Foundation
We Are OpenStack: Jonathan Bryce, OpenStack Foundation
OpenStack
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Weaveworks
 
From Community to Enterprise and Back Again! Chris Wright, Red Hat
From Community to Enterprise and Back Again! Chris Wright, Red HatFrom Community to Enterprise and Back Again! Chris Wright, Red Hat
From Community to Enterprise and Back Again! Chris Wright, Red Hat
OpenStack
 
GitLab, AWS and Terraform: The Perfect Combination
GitLab, AWS and Terraform: The Perfect CombinationGitLab, AWS and Terraform: The Perfect Combination
GitLab, AWS and Terraform: The Perfect Combination
Will Hall
 
USUGM 2014 - Evolution of the ChemAxon product portfolio - Douglas Drake (Che...
USUGM 2014 - Evolution of the ChemAxon product portfolio - Douglas Drake (Che...USUGM 2014 - Evolution of the ChemAxon product portfolio - Douglas Drake (Che...
USUGM 2014 - Evolution of the ChemAxon product portfolio - Douglas Drake (Che...
ChemAxon
 
La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17
La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17
La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17
Jorge Hidalgo
 
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
apidays
 
Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127
Apigee | Google Cloud
 
Ryanair presentation-Use of Gherkin in BDD
Ryanair presentation-Use of Gherkin in BDDRyanair presentation-Use of Gherkin in BDD
Ryanair presentation-Use of Gherkin in BDD
Cigniti Technologies Ltd
 
How to share a Kubernetes cluster securely through Lens spaces
How to share a Kubernetes cluster securely through Lens spacesHow to share a Kubernetes cluster securely through Lens spaces
How to share a Kubernetes cluster securely through Lens spaces
LibbySchulze
 
use case ibm k8s_service+devops
use case ibm k8s_service+devopsuse case ibm k8s_service+devops
use case ibm k8s_service+devops
Shoichiro Sakaigawa
 
Monitoring large scale Docker production environments
Monitoring large scale Docker production environmentsMonitoring large scale Docker production environments
Monitoring large scale Docker production environments
Alois Reitbauer
 
GitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with KubernetesGitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with Kubernetes
Volodymyr Shynkar
 
CNCF App-Delivery SIG Presentation - Litmus Chaos Engineering
CNCF App-Delivery SIG Presentation - Litmus Chaos EngineeringCNCF App-Delivery SIG Presentation - Litmus Chaos Engineering
CNCF App-Delivery SIG Presentation - Litmus Chaos Engineering
Umasankar Mukkara
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOps
Weaveworks
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsFree GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOps
Weaveworks
 
Testing in a continuous delivery world - continuous delivery Amsterdam meetup
Testing in a continuous delivery world - continuous delivery Amsterdam meetupTesting in a continuous delivery world - continuous delivery Amsterdam meetup
Testing in a continuous delivery world - continuous delivery Amsterdam meetup
Wouter Lagerweij
 
How to build your own auto-remediation workflow - Ansible Meetup Munich
How to build your own auto-remediation workflow - Ansible Meetup MunichHow to build your own auto-remediation workflow - Ansible Meetup Munich
How to build your own auto-remediation workflow - Ansible Meetup Munich
Jürgen Etzlstorfer
 
DCI presentation during OpenStack Montréal - 2018-06
DCI presentation during OpenStack Montréal - 2018-06DCI presentation during OpenStack Montréal - 2018-06
DCI presentation during OpenStack Montréal - 2018-06
Gonéri Le Bouder
 
Corlina
CorlinaCorlina

What's hot (20)

We Are OpenStack: Jonathan Bryce, OpenStack Foundation
We Are OpenStack: Jonathan Bryce, OpenStack FoundationWe Are OpenStack: Jonathan Bryce, OpenStack Foundation
We Are OpenStack: Jonathan Bryce, OpenStack Foundation
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
 
From Community to Enterprise and Back Again! Chris Wright, Red Hat
From Community to Enterprise and Back Again! Chris Wright, Red HatFrom Community to Enterprise and Back Again! Chris Wright, Red Hat
From Community to Enterprise and Back Again! Chris Wright, Red Hat
 
GitLab, AWS and Terraform: The Perfect Combination
GitLab, AWS and Terraform: The Perfect CombinationGitLab, AWS and Terraform: The Perfect Combination
GitLab, AWS and Terraform: The Perfect Combination
 
USUGM 2014 - Evolution of the ChemAxon product portfolio - Douglas Drake (Che...
USUGM 2014 - Evolution of the ChemAxon product portfolio - Douglas Drake (Che...USUGM 2014 - Evolution of the ChemAxon product portfolio - Douglas Drake (Che...
USUGM 2014 - Evolution of the ChemAxon product portfolio - Douglas Drake (Che...
 
La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17
La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17
La JVM y el Internet de las Cosas @ MálagaJUG 2016-11-17
 
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
apidays LIVE Paris - Serverless security: how to protect what you don't see? ...
 
Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127Build APIs in Node.js and Swagger 2.0 with Apigee-127
Build APIs in Node.js and Swagger 2.0 with Apigee-127
 
Ryanair presentation-Use of Gherkin in BDD
Ryanair presentation-Use of Gherkin in BDDRyanair presentation-Use of Gherkin in BDD
Ryanair presentation-Use of Gherkin in BDD
 
How to share a Kubernetes cluster securely through Lens spaces
How to share a Kubernetes cluster securely through Lens spacesHow to share a Kubernetes cluster securely through Lens spaces
How to share a Kubernetes cluster securely through Lens spaces
 
use case ibm k8s_service+devops
use case ibm k8s_service+devopsuse case ibm k8s_service+devops
use case ibm k8s_service+devops
 
Monitoring large scale Docker production environments
Monitoring large scale Docker production environmentsMonitoring large scale Docker production environments
Monitoring large scale Docker production environments
 
GitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with KubernetesGitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with Kubernetes
 
CNCF App-Delivery SIG Presentation - Litmus Chaos Engineering
CNCF App-Delivery SIG Presentation - Litmus Chaos EngineeringCNCF App-Delivery SIG Presentation - Litmus Chaos Engineering
CNCF App-Delivery SIG Presentation - Litmus Chaos Engineering
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOps
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsFree GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOps
 
Testing in a continuous delivery world - continuous delivery Amsterdam meetup
Testing in a continuous delivery world - continuous delivery Amsterdam meetupTesting in a continuous delivery world - continuous delivery Amsterdam meetup
Testing in a continuous delivery world - continuous delivery Amsterdam meetup
 
How to build your own auto-remediation workflow - Ansible Meetup Munich
How to build your own auto-remediation workflow - Ansible Meetup MunichHow to build your own auto-remediation workflow - Ansible Meetup Munich
How to build your own auto-remediation workflow - Ansible Meetup Munich
 
DCI presentation during OpenStack Montréal - 2018-06
DCI presentation during OpenStack Montréal - 2018-06DCI presentation during OpenStack Montréal - 2018-06
DCI presentation during OpenStack Montréal - 2018-06
 
Corlina
CorlinaCorlina
Corlina
 

Similar to Jenkins: Portability Testing & Dealing With Limits

DevOps Case Studies
DevOps Case StudiesDevOps Case Studies
DevOps Case Studies
WhiteHedge Technologies Inc.
 
FactoryTalk® AssetCentre: Overview
FactoryTalk® AssetCentre: OverviewFactoryTalk® AssetCentre: Overview
FactoryTalk® AssetCentre: Overview
Rockwell Automation
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolset
Reid Lai
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
Paul Czarkowski
 
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Preeya Selvarajah
 
Continuous Delivery Pipeline in the Cloud – How to Achieve Continous Everything
Continuous Delivery Pipeline in the Cloud – How to Achieve Continous Everything Continuous Delivery Pipeline in the Cloud – How to Achieve Continous Everything
Continuous Delivery Pipeline in the Cloud – How to Achieve Continous Everything
CA Technologies
 
Leverage Virtual Design to Build a Better System
Leverage Virtual Design to Build a Better SystemLeverage Virtual Design to Build a Better System
Leverage Virtual Design to Build a Better System
Rockwell Automation
 
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStackAdobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Nicolas Brousse
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
DevOps.com
 
Enterprise serverless
Enterprise serverlessEnterprise serverless
Enterprise serverless
DmitryLozitskiy2
 
Industrial IoT bootcamp
Industrial IoT bootcampIndustrial IoT bootcamp
Industrial IoT bootcamp
Lothar Schubert
 
Test Strategies for Microservices with Christoph Ebeling
Test Strategies for Microservices with Christoph EbelingTest Strategies for Microservices with Christoph Ebeling
Test Strategies for Microservices with Christoph Ebeling
Cloud Study Network
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Henning Jacobs
 
CNCF On-Demand Webinar_ LitmusChaos Project Updates.pdf
CNCF On-Demand Webinar_ LitmusChaos Project Updates.pdfCNCF On-Demand Webinar_ LitmusChaos Project Updates.pdf
CNCF On-Demand Webinar_ LitmusChaos Project Updates.pdf
LibbySchulze
 
Exploring New Features that Allow for Simulation and Offline Development Oppo...
Exploring New Features that Allow for Simulation and Offline Development Oppo...Exploring New Features that Allow for Simulation and Offline Development Oppo...
Exploring New Features that Allow for Simulation and Offline Development Oppo...
Rockwell Automation
 
Flex Workshop, New Relic O11y Days
Flex Workshop, New Relic O11y DaysFlex Workshop, New Relic O11y Days
Flex Workshop, New Relic O11y Days
LeonAdato
 
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
Lucas Jellema
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaSAMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
Getting value from IoT, Integration and Data Analytics
 
Transform Software Testing and Quality with the Neotys-Inflectra Platform
Transform Software Testing and Quality with the Neotys-Inflectra PlatformTransform Software Testing and Quality with the Neotys-Inflectra Platform
Transform Software Testing and Quality with the Neotys-Inflectra Platform
Inflectra
 
Working with Oracle Big Data Cloud Compute Edition and Apache Zeppelin
Working with Oracle Big Data Cloud Compute Edition and Apache ZeppelinWorking with Oracle Big Data Cloud Compute Edition and Apache Zeppelin
Working with Oracle Big Data Cloud Compute Edition and Apache Zeppelin
Edelweiss Kammermann
 

Similar to Jenkins: Portability Testing & Dealing With Limits (20)

DevOps Case Studies
DevOps Case StudiesDevOps Case Studies
DevOps Case Studies
 
FactoryTalk® AssetCentre: Overview
FactoryTalk® AssetCentre: OverviewFactoryTalk® AssetCentre: Overview
FactoryTalk® AssetCentre: Overview
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolset
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
 
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
Schneider Electric Scada Global Support Provides Troubleshooting and Technica...
 
Continuous Delivery Pipeline in the Cloud – How to Achieve Continous Everything
Continuous Delivery Pipeline in the Cloud – How to Achieve Continous Everything Continuous Delivery Pipeline in the Cloud – How to Achieve Continous Everything
Continuous Delivery Pipeline in the Cloud – How to Achieve Continous Everything
 
Leverage Virtual Design to Build a Better System
Leverage Virtual Design to Build a Better SystemLeverage Virtual Design to Build a Better System
Leverage Virtual Design to Build a Better System
 
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStackAdobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
 
Enterprise serverless
Enterprise serverlessEnterprise serverless
Enterprise serverless
 
Industrial IoT bootcamp
Industrial IoT bootcampIndustrial IoT bootcamp
Industrial IoT bootcamp
 
Test Strategies for Microservices with Christoph Ebeling
Test Strategies for Microservices with Christoph EbelingTest Strategies for Microservices with Christoph Ebeling
Test Strategies for Microservices with Christoph Ebeling
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
 
CNCF On-Demand Webinar_ LitmusChaos Project Updates.pdf
CNCF On-Demand Webinar_ LitmusChaos Project Updates.pdfCNCF On-Demand Webinar_ LitmusChaos Project Updates.pdf
CNCF On-Demand Webinar_ LitmusChaos Project Updates.pdf
 
Exploring New Features that Allow for Simulation and Offline Development Oppo...
Exploring New Features that Allow for Simulation and Offline Development Oppo...Exploring New Features that Allow for Simulation and Offline Development Oppo...
Exploring New Features that Allow for Simulation and Offline Development Oppo...
 
Flex Workshop, New Relic O11y Days
Flex Workshop, New Relic O11y DaysFlex Workshop, New Relic O11y Days
Flex Workshop, New Relic O11y Days
 
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
AMIS Oracle OpenWorld & CodeOne Review - Pillar 2 - SaaS and Standard Applica...
 
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaSAMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
AMIS Oracle OpenWorld en Code One Review 2018 - Pillar 2: SaaS
 
Transform Software Testing and Quality with the Neotys-Inflectra Platform
Transform Software Testing and Quality with the Neotys-Inflectra PlatformTransform Software Testing and Quality with the Neotys-Inflectra Platform
Transform Software Testing and Quality with the Neotys-Inflectra Platform
 
Working with Oracle Big Data Cloud Compute Edition and Apache Zeppelin
Working with Oracle Big Data Cloud Compute Edition and Apache ZeppelinWorking with Oracle Big Data Cloud Compute Edition and Apache Zeppelin
Working with Oracle Big Data Cloud Compute Edition and Apache Zeppelin
 

Recently uploaded

SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 

Recently uploaded (20)

SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 

Jenkins: Portability Testing & Dealing With Limits

  • 1. PORTABILITY TESTING WITH JENKINS OXID DevOps Meetup Part 1 of 2
  • 2. SITUATION: ©2018 OXID eSales AG The application is failing in different environments! Oh no! How can we avoid this?
  • 3. Portability testing is the process of determining the degree of ease or difficulty to which a software component or application can be effectively and efficiently transferred from one hardware, software or other operational or usage environment to another. ©2018 OXID eSales AG > https://en.wikipedia.org/w/index.php?title=Portability_testing&oldid=815959077 WITH PORTABILITY TESTING:
  • 4. For us this translates to awareness about the different Versions of: > PHP > Database Server > Webserver But could also be about: > Hardware > Operating System > Different APIs WHAT DOES THAT MEAN FOR OXID? ©2018 OXID eSales AG
  • 5. ©2018 OXID eSales AG But how to do it in Jenkins?
  • 6. USING THE MATRIX AND THE DYNAMIC AXIS PLUGIN ©2018 OXID eSales AG Prerequisites: > Matrix Project Plugin[1] > DynamicAxis Plugin[2] Providing 4 different axis: > User-defined Axis > Dynamic Axis > Slaves > Label expression > [1] https://wiki.jenkins.io/display/JENKINS/Matrix+Project+Plugin > [2] https://wiki.jenkins.io/display/JENKINS/DynamicAxis+Plugin
  • 7. USER DEFINED AXIS ©2018 OXID eSales AG Name: Variable name to be used in the job Values: content of the variable separated by space Example: DYNAMIC AXIS Same as the User-defined axis, but the content is taken from a: > Parameter > Build Node variable > globally-defined variable > OS environment setting RESULT
  • 8. SLAVES ©2018 OXID eSales AG Label: same as from Node definition Multiple selections will result in multiple build jobs! LABEL EXPRESSIONS Same purpose but: Expressions instead of GUI
  • 9. SPLIT UP THE TASKS ACROSS SEVERAL JOBS ©2018 OXID eSales AG > Test runner pipeline - example at the right side > Build job > unit, integration and acceptance tests > additional tests (encoding, coverage, ...)
  • 10. USING PIPELINES TO COVER MULTIPLE TEST CONSTELLATIONS ©2018 OXID eSales AG
  • 11. RESOLUTION: ©2018 OXID eSales AG The application is being tested in supported environments!
  • 12. Q&A - ROUND 1 ©2018 OXID eSales AG
  • 14. BEYOND EXECUTORS - DEALING WITH LIMITS OXID DevOps Meetup Part 2 of 2
  • 15. NEW PROBLEM: ©2018 OXID eSales AG We are testing so much that everything is failing!
  • 16. ©2018 OXID eSales AG So what can we do, to get back in control? Add more hardware? Sure, but first let‘s get the most out of what we have!
  • 17. BASIC APPROACH - NODE SETTING „# OF EXECUTORS“ ©2018 OXID eSales AG Rule of thumb: Number of CPU cores
  • 18. USE THE SAME HOST ON MULTIPLE NODES ©2018 OXID eSales AG Let‘s talk about management jobs ;-)
  • 19. BUILD THROTTLING ©2018 OXID eSales AG Along with Pipelines comes https://wiki.jenkins.io/display/JENKINS/Branch+API+Plugin providing the throttle option Provides > Less interference Does not Provide > Exact control
  • 20. LOCKABLE RESOURCES PLUGIN ©2018 OXID eSales AG Dealing with external limits For example > Hardware  Screens  Printers > User accounts > Services
  • 21. DYNAMICALLY SWITCH BETWEEN RESOURCES VIA GROOVY ©2018 OXID eSales AG
  • 22. RESOLUTION: ©2018 OXID eSales AG Even when under maximum load everything will run smoothly.
  • 23. Q&A - ROUND 2 ©2018 OXID eSales AG