{"id":4068,"date":"2016-09-21T23:33:52","date_gmt":"2016-09-21T23:33:52","guid":{"rendered":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/how-to-extend-ci-pipelines-with-continuous-performance-testing\/"},"modified":"2026-02-18T13:28:57","modified_gmt":"2026-02-18T13:28:57","slug":"extend-continuous-integration-ci-pipelines","status":"publish","type":"post","link":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines","title":{"rendered":"How to extend CI pipelines with continuous performance testing"},"content":{"rendered":"\n<p>In previous posts we&#8217;ve talked about why &nbsp;<a href=\"\/https\/www.griddynamics.com\/blog\/continuous-performance-testing\" target=\"_blank\" rel=\"noopener\">Continuous Performance Testing (CPT)<\/a> must be an integral part of managing the user experience.&nbsp;We&#8217;ve also discussed some of the&nbsp;<a href=\"\/https\/www.griddynamics.com\/blog\/why-isnt-continous-performance-testing-more-common\" target=\"_blank\" rel=\"noopener\">reasons CPT is hard to implement<\/a>. Now it&#8217;s time to get into the nitty-gritty of making CPT part of your CI pipeline. As you will quickly discover, this isn\u2019t rocket science once you understand the goals and the process. <br>The standard pipeline for application development can be logically split into two main sections:<\/p>\n\n\n\n<p>&nbsp;1. &nbsp;A continuous CI loop that starts with every commit and progressively applied to most stable builds, and<br>&nbsp;2. Release-level testing and sign-off, which is executed against the release candidate before it is about to go into production.<\/p>\n\n\n\n<p><span class=\"left center inblock w59\">Continuous CI Loop<\/span><span class=\"right center inblock w34\">One-Time Release Sign-off<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"950\" height=\"549\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-lazy-type=\"image\" data-aload=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT3-Image-1-Commit-Circle-A-copy.png\" alt=\"Continuous Integration Pipeline and One-Time Release Performance Sign-off\" class=\"lazy wp-image-1673\" data-aload-srcset=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT3-Image-1-Commit-Circle-A-copy.png 950w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT3-Image-1-Commit-Circle-A-copy-300x173.png 300w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT3-Image-1-Commit-Circle-A-copy-768x444.png 768w\" data-aload-sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"950\" height=\"549\" src=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT3-Image-1-Commit-Circle-A-copy.png\" alt=\"Continuous Integration Pipeline and One-Time Release Performance Sign-off\" class=\"wp-image-1673\" srcset=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT3-Image-1-Commit-Circle-A-copy.png 950w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT3-Image-1-Commit-Circle-A-copy-300x173.png 300w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT3-Image-1-Commit-Circle-A-copy-768x444.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><\/noscript><\/figure>\n\n\n\n<p>A pre-release sign-off test happens infrequently and is heavily manual in nature. It involves deployment of a full test environment that typically includes various end-to-end (E2E) user scenarios combined with load, stress, and stability testing. This is a highly skilled job performed by the application engineers and is both explorative and experimental in nature; they must set up the environment, configure tools to measure performance and utilization elements, run tests, measure results, analyze the findings, modify scenarios, adjust the infrastructure, reconfigure their tools, and try again.&nbsp;<\/p>\n\n\n\n<p>Any performance issues found at this stage result in a tough dilemma for the release management team: Should they let the release through with known performance issues, or send the release back to engineering and miss the ship date?<\/p>\n\n\n\n<p>Both options are far from ideal. It\u2019s far more efficient to evaluate the performance characteristics of each build during active development, at the same time other quality issues are discovered and corrected. Getting this done right \u2014&nbsp;cost-effectively and automatically \u2014&nbsp;is the central idea behind CPT.&nbsp;<\/p>\n\n\n\n<p>This can be done by taking &nbsp;performance testing functions that can be automated and moving them into the CI pipeline, like this:<\/p>\n\n\n\n<p><span class=\"left center inblock w59\">CI Loop<\/span><span class=\"right center inblock w34\">Release Process<\/span><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"950\" height=\"550\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-lazy-type=\"image\" data-aload=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT-3-Image-2-Commit-Circle-B-copy-1.png\" alt=\"Continuous Integration Pipeline with Performance Testing steps\" class=\"lazy wp-image-1674\" data-aload-srcset=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT-3-Image-2-Commit-Circle-B-copy-1.png 950w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT-3-Image-2-Commit-Circle-B-copy-1-300x174.png 300w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT-3-Image-2-Commit-Circle-B-copy-1-768x445.png 768w\" data-aload-sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"950\" height=\"550\" src=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT-3-Image-2-Commit-Circle-B-copy-1.png\" alt=\"Continuous Integration Pipeline with Performance Testing steps\" class=\"wp-image-1674\" srcset=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT-3-Image-2-Commit-Circle-B-copy-1.png 950w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT-3-Image-2-Commit-Circle-B-copy-1-300x174.png 300w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/2016-09-21-CPT-3-Image-2-Commit-Circle-B-copy-1-768x445.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><\/noscript><\/figure>\n\n\n\n<figure class=\"wp-block-image alignright size-full not-full-size\"><a href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/promotions.griddynamics.com\/continuous-delivery-blueprint-book\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"500\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-lazy-type=\"image\" data-aload=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/cdb_banner_blog.jpg\" alt=\"Continuous Delivery Blueprint by Max Martynov and Krill Evstigneev\" class=\"lazy wp-image-1353\" data-aload-srcset=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/cdb_banner_blog.jpg 250w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/cdb_banner_blog-150x300.jpg 150w\" data-aload-sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"500\" src=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/cdb_banner_blog.jpg\" alt=\"Continuous Delivery Blueprint by Max Martynov and Krill Evstigneev\" class=\"wp-image-1353\" srcset=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/cdb_banner_blog.jpg 250w, https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/cdb_banner_blog-150x300.jpg 150w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/noscript><\/a><\/figure>\n\n\n\n<p class=\"overflow-cancel\">Effectively, we apply the principles of multi-stage regression&nbsp;<a rel=\"noreferrer noopener\" href=\"\/https\/www.griddynamics.com\/blog\/design-principles-continuous-performance-testing\" target=\"_blank\">test pipelines to performance testing<\/a>. This is typically done by creating a series of rather simple tests that check different aspects of the system against performance objectives in a selected set of scenarios, and inserting these tests into appropriate phases of the CI pipeline as shown above.<\/p>\n\n\n\n<p>While not all types of performance testing can be reduced to the types of tests suitable for CI pipelines, here are a few common ones that can:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\n<strong>Performance smoke testing<\/strong>: Applied to an isolated service via an API in a representative configuration, this test measures the response times of certain critical performance-sensitive operations \u2014&nbsp;for example search queries, data exports or product updates. The environment configuration, test data, and operations are simplified to produce a quick, cheap, and effective pass\/fail test that captures gross performance trends with respect to common performance-sensitive operations for each build. Simplicity and fast response times allow us to put these tests in the category of smoke tests.\n<\/li>\n\n\n\n<li>\n<strong>Performance regression testing<\/strong>: These tests measure simulated performance characteristics of typical user scenarios, such as placing item in a shopping bag, placing a product order, browsing a catalog and so on. These tests are performed exclusively via APIs and exclude any UI operations. They aim to measure the effective performance characteristics of common business workflows and expose bottlenecks due to poor design or implementation. We implement user scenarios executing sequential API calls, and collect metrics for each scenario and each API call. We focus primarily on the performance of each step. Eliminating UI-related operations from the regression testing reduces the number of tests that need to be written, simplifies test maintenance between releases, and shortens test execution times.\n<\/li>\n\n\n\n<li>\n<strong>End-to-end (E2E) performance testing<\/strong>: Full user scenarios, including UI, backend, and all required external 3rd party services, configured in production-like environments with realistic data volumes. These are long-running, relatively \u201cexpensive\u201d tests designed to realistically measure the user experience.\n<\/li>\n<\/ul>\n\n\n\n<p>All three types of tests lend themselves well to integration with different stages of the existing CI pipeline: performance smoke tests extend existing functional smoke tests; performance regression testing supplements other forms of regression testing; and performance E2E tests are best run side by side with integration testing.&nbsp;<\/p>\n\n\n\n<p>In our next post, we\u2019ll dive deeper into the specifics of successfully extending existing CI pipelines with Continuous Performance Testing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article discusses how to incorporate Continuous Performance Testing (CPT) into the CI pipeline, including the types of tests that can be automated and integrated into different stages of the pipeline.<\/p>\n","protected":false},"author":58,"featured_media":72968,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_eb_attr":"","_uag_custom_page_level_css":"figure.wp-block-image.alignright {\n\twidth: auto !important;\n}\n\n@media screen and (max-width: 768px) {\nfigure.wp-block-image.alignright {\n\twidth: 100% !important;\n    text-align: center;\n}\n\t\np.overflow-cancel {\n\toverflow-x: unset !important;\n}\n}\n\n","site-sidebar-layout":"no-sidebar","site-content-layout":"plain-container","ast-site-content-layout":"normal-width-container","site-content-style":"unboxed","site-sidebar-style":"unboxed","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[222,226,260,246],"tags":[199],"starter_kit_tag":[],"class_list":["post-4068","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","category-cloud-platform-and-product-engineering","category-cross-industry","category-quality-and-performance-engineering","tag-continuous-performance-testing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v26.8) - https:\/\/round-lake.dustinice.workers.dev:443\/https\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Extending CI Pipelines with Continuous Performance Testing<\/title>\n<meta name=\"description\" content=\"Continuous Performance Testing can spot problems with application development during development, which can save major amounts of time and money.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Extending CI Pipelines with Continuous Performance Testing\" \/>\n<meta property=\"og:description\" content=\"Continuous Performance Testing can spot problems with application development during development, which can save major amounts of time and money.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines\" \/>\n<meta property=\"og:site_name\" content=\"Grid Dynamics\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-21T23:33:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-18T13:28:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"924\" \/>\n\t<meta property=\"og:image:height\" content=\"482\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Victor Samoylov\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"How to extend CI pipelines with continuous performance testing\" \/>\n<meta name=\"twitter:description\" content=\"Grid Dynamics - How to extend CI pipelines with continuous performance testing - Articles, Cloud platform and product engineering, Cross-industry, Quality and performance engineering - September 21, 2016\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Victor Samoylov\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Extending CI Pipelines with Continuous Performance Testing","description":"Continuous Performance Testing can spot problems with application development during development, which can save major amounts of time and money.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines","og_locale":"en_US","og_type":"article","og_title":"Extending CI Pipelines with Continuous Performance Testing","og_description":"Continuous Performance Testing can spot problems with application development during development, which can save major amounts of time and money.","og_url":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines","og_site_name":"Grid Dynamics","article_published_time":"2016-09-21T23:33:52+00:00","article_modified_time":"2026-02-18T13:28:57+00:00","og_image":[{"width":924,"height":482,"url":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp","type":"image\/webp"}],"author":"Victor Samoylov","twitter_card":"summary_large_image","twitter_title":"How to extend CI pipelines with continuous performance testing","twitter_description":"Grid Dynamics - How to extend CI pipelines with continuous performance testing - Articles, Cloud platform and product engineering, Cross-industry, Quality and performance engineering - September 21, 2016","twitter_misc":{"Written by":"Victor Samoylov","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines#article","isPartOf":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines"},"author":{"name":"Victor Samoylov","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#\/schema\/person\/2b55aaf9bff88879c4cad46d4e65c911"},"headline":"How to extend CI pipelines with continuous performance testing","datePublished":"2016-09-21T23:33:52+00:00","dateModified":"2026-02-18T13:28:57+00:00","mainEntityOfPage":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines"},"wordCount":742,"publisher":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#organization"},"image":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines#primaryimage"},"thumbnailUrl":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp","keywords":["Continuous Performance Testing"],"articleSection":["Articles","Cloud platform and product engineering","Cross-industry","Quality and performance engineering"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines","url":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines","name":"Extending CI Pipelines with Continuous Performance Testing","isPartOf":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines#primaryimage"},"image":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines#primaryimage"},"thumbnailUrl":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp","datePublished":"2016-09-21T23:33:52+00:00","dateModified":"2026-02-18T13:28:57+00:00","description":"Continuous Performance Testing can spot problems with application development during development, which can save major amounts of time and money.","breadcrumb":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines#primaryimage","url":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp","contentUrl":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp","width":924,"height":482,"caption":"Complex industrial piping system in a facility"},{"@type":"BreadcrumbList","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/blog\/extend-continuous-integration-ci-pipelines#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/"},{"@type":"ListItem","position":2,"name":"How to extend CI pipelines with continuous performance testing"}]},{"@type":"WebSite","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#website","url":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/","name":"Grid Dynamics","description":"","publisher":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#organization","name":"Grid Dynamics","alternateName":"Grid Dynamics Holdings, Inc.","url":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#\/schema\/logo\/image\/","url":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/10\/share-logo.png","contentUrl":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/10\/share-logo.png","width":720,"height":360,"caption":"Grid Dynamics"},"image":{"@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#\/schema\/person\/2b55aaf9bff88879c4cad46d4e65c911","name":"Victor Samoylov","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/#\/schema\/person\/image\/","url":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/Victor-200x200-circle-BW.jpg","contentUrl":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2023\/04\/Victor-200x200-circle-BW.jpg","caption":"Victor Samoylov"},"description":"Victor Samoylov joined Grid Dynamics in 2008. He worked on a number of commercial projects, and is currently a Director of Business Intelligence highly experienced in Engineering and other related spheres.","url":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/author\/victor-samoylov"}]}},"uagb_featured_image_src":{"full":["https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp",924,482,false],"thumbnail":["https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines-150x150.webp",150,150,true],"medium":["https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines-300x156.webp",300,156,true],"medium_large":["https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines-768x401.webp",768,401,true],"large":["https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp",924,482,false],"1536x1536":["https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp",924,482,false],"2048x2048":["https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-content\/uploads\/2016\/09\/how-to-extend-ci-pipelines.webp",924,482,false]},"uagb_author_info":{"display_name":"Victor Samoylov","author_link":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/author\/victor-samoylov"},"uagb_comment_info":0,"uagb_excerpt":"This article discusses how to incorporate Continuous Performance Testing (CPT) into the CI pipeline, including the types of tests that can be automated and integrated into different stages of the pipeline.","ai_search_data":{"is_excluded_from_search":false,"custom_thumbnail":"","custom_title":"","custom_label":"","content_type":"Articles"},"_links":{"self":[{"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/posts\/4068","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/comments?post=4068"}],"version-history":[{"count":11,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/posts\/4068\/revisions"}],"predecessor-version":[{"id":72971,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/posts\/4068\/revisions\/72971"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/media\/72968"}],"wp:attachment":[{"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/media?parent=4068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/categories?post=4068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/tags?post=4068"},{"taxonomy":"starter_kit_tag","embeddable":true,"href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/www.griddynamics.com\/wp-json\/wp\/v2\/starter_kit_tag?post=4068"}],"curies":[{"name":"wp","href":"https:\/\/round-lake.dustinice.workers.dev:443\/https\/api.w.org\/{rel}","templated":true}]}}