{"id":4759,"date":"2026-03-30T10:43:42","date_gmt":"2026-03-30T05:13:42","guid":{"rendered":"https:\/\/codematrix.co.in\/blog\/?page_id=4759"},"modified":"2026-03-30T17:38:07","modified_gmt":"2026-03-30T12:08:07","slug":"runners","status":"publish","type":"page","link":"https:\/\/codematrix.co.in\/blog\/runners\/","title":{"rendered":"Runners"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4759\" class=\"elementor elementor-4759\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e18a6aa e-flex e-con-boxed e-con e-parent\" data-id=\"e18a6aa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-01d81ff elementor-widget elementor-widget-html\" data-id=\"01d81ff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n    \/* --- Brand Styling --- *\/\r\n    :root {\r\n        --brand-purple: #9C00E4;\r\n        --brand-light: #f3e8ff;\r\n    }\r\n\r\n    \/* Reset & Base *\/\r\n    .python-full-layout * { box-sizing: border-box; }\r\n\r\n    \/* Layout Adjustments *\/\r\n    .python-full-layout { \r\n        display: flex; \r\n        gap: 30px; \r\n        padding: 20px; \r\n        max-width: 1200px; \r\n        margin: 0 auto;\r\n        background: #fdfbff; \r\n    }\r\n\r\n    .sidebar { \r\n        width: 280px; \r\n        position: sticky; \r\n        top: 20px; \r\n        height: fit-content; \r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .sidebar .topic { \r\n        display: block; \r\n        padding: 12px; \r\n        text-decoration: none; \r\n        color: #444; \r\n        border-radius: 8px; \r\n        margin-bottom: 8px; \r\n        background: #fff;\r\n        border: 1px solid #eee;\r\n        transition: 0.3s;\r\n    }\r\n\r\n    .sidebar .topic.active { \r\n        background: var(--brand-purple); \r\n        color: white; \r\n        border-color: var(--brand-purple);\r\n    }\r\n\r\n    \/* Main Content *\/\r\n    .main-content { \r\n        flex: 1; \r\n        font-family: 'Segoe UI', sans-serif; \r\n        min-width: 0; \r\n    }\r\n\r\n    .article-card { \r\n        background: white; \r\n        padding: 30px; \r\n        border-radius: 15px; \r\n        box-shadow: 0 4px 15px rgba(0,0,0,0.05); \r\n    }\r\n\r\n    h1 { color: var(--brand-purple); font-size: 2.2rem; margin-bottom: 20px; }\r\n    h2 { color: #333; margin-top: 30px; border-left: 4px solid var(--brand-purple); padding-left: 15px; }\r\n    \r\n    .custom-img { \r\n        display: block; \r\n        margin: 30px auto; \r\n        width: 100%; \r\n        max-width: 600px; \r\n        border: 2px solid #e9d5ff; \r\n        border-radius: 10px;\r\n    }\r\n\r\n    table { \r\n        width: 100%; \r\n        border-collapse: collapse; \r\n        margin: 20px 0; \r\n    }\r\n\r\n    table th, table td { \r\n        border: 1px solid #eee; \r\n        padding: 12px; \r\n        text-align: left; \r\n    }\r\n\r\n    table th { background: #f8f9fa; color: var(--brand-purple); }\r\n\r\n    \/* Responsive *\/\r\n    @media (max-width: 991px) {\r\n        .python-full-layout { flex-direction: column; }\r\n        .sidebar { width: 100%; position: relative; top: 0; }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"python-full-layout\">\r\n    <aside class=\"sidebar\">\r\n        <h2 style=\"font-size: 1.2rem; color: var(--brand-purple); margin-bottom: 15px;\">CI\/CD Execution<\/h2>\r\n        <a href=\"#definition\" class=\"topic active\">What are Runners?<\/a>\r\n        <a href=\"#howitworks\" class=\"topic\">1. How Runners Work<\/a>\r\n        <a href=\"#types\" class=\"topic\">2. Types of Runners<\/a>\r\n        <a href=\"#selection\" class=\"topic\">3. Hosted vs. Self-Hosted<\/a>\r\n        <a href=\"#mcq\" class=\"topic\">Practice MCQs<\/a>\r\n    <\/aside>\r\n\r\n    <main class=\"main-content\">\r\n        <article class=\"article-card\">\r\n            \r\n            <header id=\"definition\">\r\n                <h1>What are Runners in CI\/CD?<\/h1>\r\n                <p>In the world of DevOps and Continuous Integration (CI\/CD), <strong>Runners<\/strong> (also called Agents or Workers) are the machines or processes that actually execute the steps defined in your pipeline. If the pipeline is the \"instruction manual,\" the Runner is the \"mechanic\" that does the work.<\/p>\r\n            <\/header>\r\n\r\n            <img decoding=\"async\" src=\"https:\/\/codematrix.co.in\/blog\/wp-content\/uploads\/2026\/03\/1_3stkQyMCIZHjDII0dUOaJw.png\" alt=\"runners in ci cd\" class=\"custom-img\">\r\n\r\n            <section id=\"howitworks\">\r\n                <h2>1. How Runners Work<\/h2>\r\n                <p>When you push code to a repository (like GitHub or GitLab), the system triggers a job. A Runner picks up that job, performs the actions, and reports the results back.<\/p>\r\n                <ul>\r\n                    <li><strong>Pick up:<\/strong> The runner polls the server for available jobs.<\/li>\r\n                    <li><strong>Execute:<\/strong> It runs commands like <code>npm install<\/code>, <code>pytest<\/code>, or <code>docker build<\/code>.<\/li>\r\n                    <li><strong>Report:<\/strong> it sends the logs and exit status (Success\/Fail) back to the UI.<\/li>\r\n                <\/ul>\r\n            <\/section>\r\n\r\n            <section id=\"types\">\r\n                <h2>2. Types of Runners<\/h2>\r\n                <p>Runners can exist in different environments depending on your project needs:<\/p>\r\n                <ul>\r\n                    <li><strong>Shell Runners:<\/strong> Executes commands directly on the host machine's terminal.<\/li>\r\n                    <li><strong>Docker Runners:<\/strong> Runs each job inside a fresh, isolated container. This is the most common for modern web dev.<\/li>\r\n                    <li><strong>Kubernetes Runners:<\/strong> Automatically scales runners up and down as pods within a cluster.<\/li>\r\n                <\/ul>\r\n            <\/section>\r\n\r\n            <section id=\"selection\">\r\n                <h2>3. Hosted vs. Self-Hosted<\/h2>\r\n                <table>\r\n                    <thead>\r\n                        <tr>\r\n                            <th>Feature<\/th>\r\n                            <th>Cloud-Hosted (e.g., GitHub Actions)<\/th>\r\n                            <th>Self-Hosted<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody>\r\n                        <tr><td><strong>Maintenance<\/strong><\/td><td>Managed by the provider (Zero effort)<\/td><td>Managed by YOU (Security, OS updates)<\/td><\/tr>\r\n                        <tr><td><strong>Performance<\/strong><\/td><td>Standard specs, might be slower<\/td><td>Can use high-end hardware\/GPUs<\/td><\/tr>\r\n                        <tr><td><strong>Security<\/strong><\/td><td>Clean environment for every run<\/td><td>Access to your private local network<\/td><\/tr>\r\n                        <tr><td><strong>Cost<\/strong><\/td><td>Pay per minute or limited free tier<\/td><td>Cost of your own server\/electricity<\/td><\/tr>\r\n                    <\/tbody>\r\n                <\/table>\r\n            <\/section>\r\n\r\n            <section id=\"mcq\" class=\"practice-mcqs\">\r\n                <h2>Knowledge Check<\/h2>\r\n                <div class=\"mcq-box\" style=\"background: #f9f4ff; padding: 20px; border-radius: 10px; border: 1px solid #e9d5ff;\">\r\n                    <p><strong>1. What is the primary job of a Runner?<\/strong><br>\r\n                    A) To store the code | B) <strong>To execute the commands in a pipeline<\/strong> | C) To design the UI<\/p>\r\n                    \r\n                    <p><strong>2. Why would a company choose a \"Self-Hosted\" runner?<\/strong><br>\r\n                    A) It's always free | B) <strong>To use specific hardware or access private networks<\/strong> | C) Because they don't have internet<\/p>\r\n\r\n                    <p><strong>3. Which runner type provides the best isolation between jobs?<\/strong><br>\r\n                    A) Shell Runner | B) <strong>Docker Runner<\/strong> | C) Manual Runner<\/p>\r\n                <\/div>\r\n            <\/section>\r\n\r\n            <div style=\"text-align: center; margin-top: 40px;\">\r\n                <a href=\"https:\/\/codematrix.co.in\/courses\" target=\"_blank\" style=\"background: var(--brand-purple); color: white; padding: 12px 25px; text-decoration: none; border-radius: 8px; display: inline-block; font-weight: bold;\">\r\n                    \ud83d\ude80 Automate Your Workflow!\r\n                <\/a>\r\n            <\/div>\r\n\r\n        <\/article>\r\n    <\/main>\r\n<\/div>\r\n\r\n<script>\r\nwindow.addEventListener('DOMContentLoaded', () => {\r\n    const sections = document.querySelectorAll('header[id], section[id]');\r\n    const navLinks = document.querySelectorAll('.sidebar .topic');\r\n\r\n    const observer = new IntersectionObserver((entries) => {\r\n        entries.forEach(entry => {\r\n            if (entry.isIntersecting) {\r\n                navLinks.forEach(link => {\r\n                    link.classList.remove('active');\r\n                    if (link.getAttribute('href') === `#${entry.target.id}`) {\r\n                        link.classList.add('active');\r\n                    }\r\n                });\r\n            }\r\n        });\r\n    }, { threshold: 0.5 });\r\n    sections.forEach(section => observer.observe(section));\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>CI\/CD Execution What are Runners? 1. How Runners Work 2. Types of Runners 3. Hosted vs. Self-Hosted Practice MCQs What are Runners in CI\/CD? In the world of DevOps and Continuous Integration (CI\/CD), Runners (also called Agents or Workers) are the machines or processes that actually execute the steps defined in your pipeline. If the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","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":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","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":"default","ast-page-background-enabled":"default","ast-page-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":"","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-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":"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":""},"mobile":{"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":""}},"footnotes":""},"class_list":["post-4759","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/codematrix.co.in\/blog\/wp-json\/wp\/v2\/pages\/4759","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codematrix.co.in\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/codematrix.co.in\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/codematrix.co.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codematrix.co.in\/blog\/wp-json\/wp\/v2\/comments?post=4759"}],"version-history":[{"count":7,"href":"https:\/\/codematrix.co.in\/blog\/wp-json\/wp\/v2\/pages\/4759\/revisions"}],"predecessor-version":[{"id":5719,"href":"https:\/\/codematrix.co.in\/blog\/wp-json\/wp\/v2\/pages\/4759\/revisions\/5719"}],"wp:attachment":[{"href":"https:\/\/codematrix.co.in\/blog\/wp-json\/wp\/v2\/media?parent=4759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}