# Table of Contents - [install gitlab runner local | GitLab CI/CD - From Zero To Hero](#install-gitlab-runner-local-gitlab-ci-cd-from-zero-to-hero) - [file variables | GitLab CI/CD - From Zero To Hero](#file-variables-gitlab-ci-cd-from-zero-to-hero) - [Stages | GitLab CI/CD - From Zero To Hero](#stages-gitlab-ci-cd-from-zero-to-hero) - [11- Execute jobs on specific Runner (Tags) | GitLab CI/CD - From Zero To Hero](#11-execute-jobs-on-specific-runner-tags-gitlab-ci-cd-from-zero-to-hero) - [3 - Build Docker Image & Push to Private Registry | GitLab CI/CD - From Zero To Hero](#3-build-docker-image-push-to-private-registry-gitlab-ci-cd-from-zero-to-hero) - [14 - Self-Managed GitLab Instance | GitLab CI/CD - From Zero To Hero](#14-self-managed-gitlab-instance-gitlab-ci-cd-from-zero-to-hero) - [------------------------ | GitLab CI/CD - From Zero To Hero](#-gitlab-ci-cd-from-zero-to-hero) - [Install behind the scenes | GitLab CI/CD - From Zero To Hero](#install-behind-the-scenes-gitlab-ci-cd-from-zero-to-hero) - [2 - Run Unit Tests & Collect Test Reports | GitLab CI/CD - From Zero To Hero](#2-run-unit-tests-collect-test-reports-gitlab-ci-cd-from-zero-to-hero) - [demo | GitLab CI/CD - From Zero To Hero](#demo-gitlab-ci-cd-from-zero-to-hero) - [Pipeline | GitLab CI/CD - From Zero To Hero](#pipeline-gitlab-ci-cd-from-zero-to-hero) - [trigger merge request | GitLab CI/CD - From Zero To Hero](#trigger-merge-request-gitlab-ci-cd-from-zero-to-hero) - [Jobs | GitLab CI/CD - From Zero To Hero](#jobs-gitlab-ci-cd-from-zero-to-hero) - [Demo Overview & Node.js Project Overview | GitLab CI/CD - From Zero To Hero](#demo-overview-node-js-project-overview-gitlab-ci-cd-from-zero-to-hero) - [12-Add Docker Runner on EC2 Instance | GitLab CI/CD - From Zero To Hero](#12-add-docker-runner-on-ec2-instance-gitlab-ci-cd-from-zero-to-hero) - [scripts | GitLab CI/CD - From Zero To Hero](#scripts-gitlab-ci-cd-from-zero-to-hero) - [branches | GitLab CI/CD - From Zero To Hero](#branches-gitlab-ci-cd-from-zero-to-hero) - [tricks | GitLab CI/CD - From Zero To Hero](#tricks-gitlab-ci-cd-from-zero-to-hero) - [gitlab runner | GitLab CI/CD - From Zero To Hero](#gitlab-runner-gitlab-ci-cd-from-zero-to-hero) - [workflow execution | GitLab CI/CD - From Zero To Hero](#workflow-execution-gitlab-ci-cd-from-zero-to-hero) - [15 - Note on GitLab Runner Versions - Compatibility | GitLab CI/CD - From Zero To Hero](#15-note-on-gitlab-runner-versions-compatibility-gitlab-ci-cd-from-zero-to-hero) - [gitlab runner | GitLab CI/CD - From Zero To Hero](#gitlab-runner-gitlab-ci-cd-from-zero-to-hero) - [gitlab variables | GitLab CI/CD - From Zero To Hero](#gitlab-variables-gitlab-ci-cd-from-zero-to-hero) - [13 - Group Runners: Runner for a GitLab Group | GitLab CI/CD - From Zero To Hero](#13-group-runners-runner-for-a-gitlab-group-gitlab-ci-cd-from-zero-to-hero) - [executor | GitLab CI/CD - From Zero To Hero](#executor-gitlab-ci-cd-from-zero-to-hero) --- # install gitlab runner local | GitLab CI/CD - From Zero To Hero [Previousdemo](/gitlab-ci-cd-from-zero-to-hero/demo) [Next11- Execute jobs on specific Runner (Tags)](/gitlab-ci-cd-from-zero-to-hero/11-execute-jobs-on-specific-runner-tags) Last updated 2 months ago Copy gitlab-runner.exe install gitlab-runner.exe start gitlab-runner.exe status mn wra katinstallih how to register ### [](#how-to-register) How to register gitlab-runner.exe register ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252F9K2EPtOtzPm9H4mc08vZ%252Fimage.png%3Falt%3Dmedia%26token%3D55fd5926-e4ab-422c-bdef-40eb23a192db&width=768&dpr=4&quality=100&sign=36d2e64f&sv=2) --- # file variables | GitLab CI/CD - From Zero To Hero [Previousgitlab variables](/gitlab-ci-cd-from-zero-to-hero/gitlab-variables) [NextInstall behind the scenes](/gitlab-ci-cd-from-zero-to-hero/install-behind-the-scenes) Last updated 2 months ago Copy b7al kat importih kadir key:value ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FkIMt9rYCgLygtig4qvpv%252Fimage.png%3Falt%3Dmedia%26token%3Ddf4cd032-bf4e-404e-a83b-0b2303b56cc8&width=768&dpr=4&quality=100&sign=7666d651&sv=2) --- # Stages | GitLab CI/CD - From Zero To Hero [PreviousJobs](/gitlab-ci-cd-from-zero-to-hero/pipeline/jobs) [Nextscripts](/gitlab-ci-cd-from-zero-to-hero/scripts) Last updated 2 months ago katm3j jobs wkat7km f order dialhom multiple jobs fnfs stage kit runing in parallel mkidoz m stage l stage 5as ykoun all jobs li wst hdik stage dazoo mzn [](#needs-keyword) NEEDS KEYWORD ------------------------------------- fnfs stage radin runaw en paralele wlkn b3d mrat katbgi dir order b7al build hia lwala 3ad push image ila failat build image skipi push mage ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fm89z0gmo4ylKvZoQlLr0%252Fimage.png%3Falt%3Dmedia%26token%3D8a637f25-1439-4446-8c32-0f175f8d0b11&width=768&dpr=4&quality=100&sign=44efd1b1&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FQIWfrFEKqMUAd45qKmfb%252Fimage.png%3Falt%3Dmedia%26token%3Da723b1c8-3432-4115-b452-d66d0ca04550&width=768&dpr=4&quality=100&sign=fdf70d98&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FD8iuZZmAs03rRsAtMkfC%252Fimage.png%3Falt%3Dmedia%26token%3Da29c9c8f-81ca-4143-b9a7-fe1ce7aaf32b&width=768&dpr=4&quality=100&sign=52f32f6c&sv=2) --- # 11- Execute jobs on specific Runner (Tags) | GitLab CI/CD - From Zero To Hero [Previousinstall gitlab runner local](/gitlab-ci-cd-from-zero-to-hero/install-gitlab-runner-local) [Next12-Add Docker Runner on EC2 Instance](/gitlab-ci-cd-from-zero-to-hero/12-add-docker-runner-on-ec2-instance) Last updated 14 days ago [](#default-behavior) Default behavior : --------------------------------------------- Copy par default ki ya5od shared runner dial gitlab wa5a nta dyr dialk [](#kifach-runn-3la-specif-runner) kifach runn 3la specif runner --------------------------------------------------------------------- Copy hna 3lach ki kndir tags fch ylh kadir chi runner kat3tih tags [](#note-1) note 1: ------------------------ Copy 5ask t make sure bli koulchi minstallih fih for example nta dyr gitlab runner arm window w pipline fih npm rask npm ykoun deja minstalli Copy 5olassa howa ki listing chno 3ndk fhdik machine li hia runner par example : docker version ilaknti 7al docker radi 3lik b full details bla hdik erro dial demon.. Copy ila lunchi job fih npm tag dyr fih machine 5as tkoun fih deja minstalli fiha npm sinon radi faili [](#note-2) note 2: ------------------------ Copy t9dr dir jobs fih runner 1 w job fhom runner 2 runner 1: fih npm node w runner 2: fih 7waj 5riin [](#real-life-cases) Real life cases ----------------------------------------- Copy same type dial runner bch tfada iti7 chi wa7d fihom machi b7al wa7d dyr win wa7d ila ta7 radi ty7 koulchi [](#solution-multi--same-type--same-tags) solution multi + same type + same tags ------------------------------------------------------------------------------------- ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FdgQUMNwEi8ECwziSNHec%252Fimage.png%3Falt%3Dmedia%26token%3D5b33efee-b166-4254-9992-063acc0fc387&width=768&dpr=4&quality=100&sign=69a267f8&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FTcajonYiJIOu1l0mQ9bl%252Fimage.png%3Falt%3Dmedia%26token%3Defbf72d0-ab26-4299-a809-748eee9d0982&width=768&dpr=4&quality=100&sign=942f92ad&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FWCw1rIHPJMoHJaIprU0e%252Fimage.png%3Falt%3Dmedia%26token%3Df45b909d-2c0c-438b-aeab-e6d5b524f9d4&width=768&dpr=4&quality=100&sign=4270706c&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FSej4wXyCBoAgVN0qGATG%252Fimage.png%3Falt%3Dmedia%26token%3D206d667c-5621-4d0f-9ef4-f8c6c350e613&width=768&dpr=4&quality=100&sign=a111951d&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FAdiglfevbjQbZzPz8Sga%252Fimage.png%3Falt%3Dmedia%26token%3Ddceca481-bbf5-4413-ae10-a77222fa87c9&width=768&dpr=4&quality=100&sign=fdccb0dc&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FfOB3RP2pJRF0UG62aE42%252Fimage.png%3Falt%3Dmedia%26token%3D62d220fe-c406-4756-a0bf-4ccfd7591a2f&width=768&dpr=4&quality=100&sign=c156de38&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FYe9ukOlJXcftv04KEkEB%252Fimage.png%3Falt%3Dmedia%26token%3D41003beb-df1c-4eb6-abbb-9d0962c60a58&width=768&dpr=4&quality=100&sign=53d12b79&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fl7Jw0m1zYctGmP0kj4sT%252Fimage.png%3Falt%3Dmedia%26token%3Deaf4fbb3-2a39-4300-b1d9-a09ec251bc6d&width=768&dpr=4&quality=100&sign=4e03c268&sv=2) --- # 3 - Build Docker Image & Push to Private Registry | GitLab CI/CD - From Zero To Hero [Previous2 - Run Unit Tests & Collect Test Reports](/gitlab-ci-cd-from-zero-to-hero/2-run-unit-tests-and-collect-test-reports) [Nexttricks](/gitlab-ci-cd-from-zero-to-hero/tricks) Last updated 3 days ago container registry : fih ri dokcer images is registry to store images [](#structure) structure ----------------------------- [](#acces) acces --------------------- Copy par default : registry visible lay wa7d kyn f project Copy -t : --tag name:tag . location of dockerfile Copy docker build -t registry.gitlab.com/group1271405/small . [](#auth-login-to-push-private-registry) Auth login to push private registry --------------------------------------------------------------------------------- Copy rahom predifened variable ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fn84aufcwk5KLYDqxDGui%252Fimage.png%3Falt%3Dmedia%26token%3D125c4335-3b07-41e7-bc96-e1d422c61a6b&width=768&dpr=4&quality=100&sign=d111cce4&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FSeiFDm46ZKYxuIgfbV4w%252Fimage.png%3Falt%3Dmedia%26token%3D9e23456a-94ba-431e-95b1-4d26d8630680&width=768&dpr=4&quality=100&sign=39c49b16&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252F5WmjoW7H5EMLRbqq6kz0%252Fimage.png%3Falt%3Dmedia%26token%3Df9dd6c03-2052-4710-9510-11ff391716b8&width=768&dpr=4&quality=100&sign=4e3cf9c&sv=2) --- # 14 - Self-Managed GitLab Instance | GitLab CI/CD - From Zero To Hero [Previous13 - Group Runners: Runner for a GitLab Group](/gitlab-ci-cd-from-zero-to-hero/13-group-runners-runner-for-a-gitlab-group) [Next15 - Note on GitLab Runner Versions - Compatibility](/gitlab-ci-cd-from-zero-to-hero/15-note-on-gitlab-runner-versions-compatibility) --- # ------------------------ | GitLab CI/CD - From Zero To Hero [Previous15 - Note on GitLab Runner Versions - Compatibility](/gitlab-ci-cd-from-zero-to-hero/15-note-on-gitlab-runner-versions-compatibility) [NextDemo Overview & Node.js Project Overview](/gitlab-ci-cd-from-zero-to-hero/demo-overview-and-node.js-project-overview) --- # Install behind the scenes | GitLab CI/CD - From Zero To Hero [gitlab runner](/gitlab-ci-cd-from-zero-to-hero/install-behind-the-scenes/gitlab-runner) [Previousfile variables](/gitlab-ci-cd-from-zero-to-hero/gitlab-variables/file-variables) [Nextgitlab runner](/gitlab-ci-cd-from-zero-to-hero/install-behind-the-scenes/gitlab-runner) --- # 2 - Run Unit Tests & Collect Test Reports | GitLab CI/CD - From Zero To Hero [PreviousDemo Overview & Node.js Project Overview](/gitlab-ci-cd-from-zero-to-hero/demo-overview-and-node.js-project-overview) [Next3 - Build Docker Image & Push to Private Registry](/gitlab-ci-cd-from-zero-to-hero/3-build-docker-image-and-push-to-private-registry) Last updated 7 days ago Copy config fih les details b7al chno image runner ... job with just ls radi t3tik mn root dial gitlab \\\\build : rak kyn fyour machine fin kynrunner [](#artifacts-f-test-job-always-5as-ykouno) artifacts f test job always 5as ykouno ? ----------------------------------------------------------------------------------------- Copy when: always Let’s break down your question into two parts: the difference between job testing and unit testing, and what happens when you don’t specify an image in the provided GitLab CI configuration. I’ll also analyze the logs to provide context and clarity.1. Difference Between Job Testing and Unit Testing * Job Testing: * Definition: Job testing refers to the execution of a specific task or job within a CI/CD pipeline, such as in GitLab CI. A "job" is a defined step in the pipeline (e.g., testing or run\_unit\_tests in your configuration) that performs a set of scripted actions, which may or may not include testing. * Scope: It encompasses the entire job’s functionality, which could involve building, deploying, running scripts, or executing tests (including unit tests, integration tests, or other types). In your example, the testing job runs commands like docker ps and docker images, which are not tests but rather environment checks. * Purpose: Ensures the job’s script executes correctly in the CI environment. It validates the setup, dependencies, or infrastructure rather than specific code logic. * Example from Config: The testing job checks the Docker environment by listing running containers (docker ps) and available images (docker images). It’s more about verifying the runtime environment than testing code. * Unit Testing: * Definition: Unit testing is a software testing methodology where individual units or components of code (e.g., functions, methods, or modules) are tested in isolation to ensure they work as expected. * Scope: Focuses on small, isolated pieces of code, typically using a testing framework like Jest, Mocha, or JUnit. It verifies the correctness of specific logic or functionality. * Purpose: Ensures that each unit of code behaves correctly under various conditions, catching bugs early in development. Unit tests are typically automated and repeatable. * Example from Config: The run\_unit\_tests job runs npm test, which executes Jest tests (as seen in the logs: PASS ./server.test.js). These tests check specific conditions, like whether certain files (index.html, Dockerfile, .gitignore) exist. * Key Differences: * Granularity: Job testing is broader, covering the execution of a pipeline job, which may include environment setup, scripts, or tests. Unit testing is narrow, targeting specific code units. * Focus: Job testing validates the CI/CD job’s overall execution, while unit testing validates code correctness. * Tools: Job testing uses CI/CD tools (e.g., GitLab Runner) and scripts, while unit testing uses testing frameworks (e.g., Jest in your run\_unit\_tests job). * Outcome: Job testing ensures the pipeline step completes successfully, while unit testing ensures code quality and functionality. In your configuration: * testing is a job that checks the Docker environment, not testing code. * run\_unit\_tests is a job that specifically runs unit tests using Jest to verify file existence. 2\. What Happens When You Don’t Specify an Image in the testing Job?In your GitLab CI configuration, the testing job does not specify a Docker image, while run\_unit\_tests specifies image: node:17-alpine3.14. Let’s analyze the implications: * Behavior Without an Image: * When no image is specified in a GitLab CI job, the job uses the default executor environment provided by the GitLab Runner. The executor type (e.g., shell, Docker, Kubernetes) determines the environment: * Shell Executor: If the runner uses the shell executor (as seen in the testing job logs: Using Shell (powershell) executor), the job runs directly on the host machine where the runner is installed, using the host’s environment, tools, and permissions. * Docker Executor: If a Docker executor is used but no image is specified, GitLab Runner might fail unless a default image is configured in the runner’s settings (runner.toml). * Custom Setup: Some runners have a default image or environment pre-configured by the administrator. * In your testing job logs: * The job runs on a shell executor (powershell) on a host named ANDROID. * Commands like docker ps and docker images execute directly on the host, assuming Docker is installed and accessible. * The logs show Docker commands succeeding, listing containers (e.g., postiz, postgres, redis) and images (e.g., node:17-alpine3.14, postgres:17-alpine), confirming the host has Docker installed. * Implications: * Environment Dependency: Without an image, the job relies on the host’s environment, which can lead to inconsistencies. For example, if Docker isn’t installed or a different version is present, the job could fail. * Reproducibility: Using the host environment reduces reproducibility compared to a Docker image, which guarantees a consistent environment (like node:17-alpine3.14 in run\_unit\_tests). * Security: Running on the host might expose sensitive tools or data, whereas a Docker image isolates the job. * Flexibility: The shell executor allows access to host tools (e.g., Docker CLI), which is useful for jobs like testing that interact with the host’s Docker daemon. * Contrast with run\_unit\_tests: * The run\_unit\_tests job specifies image: node:17-alpine3.14, so it runs inside a Docker container with Node.js 17 and Alpine Linux 3.14. * The logs confirm this: Using Docker executor with image node:17-alpine3.14, and the job installs Node dependencies (npm install) and runs tests (npm test) in a clean, isolated environment. * This ensures consistency, as the image provides a predictable Node.js version and dependencies, unlike the testing job’s reliance on the host. * Why testing Works Without an Image: * The testing job uses a shell executor on a host with Docker installed, so docker ps and docker images run natively. * The runner is tagged with arm (indicating an ARM-based runner), and the host (ANDROID) supports the required commands. * If the host lacked Docker, the job would fail with an error like docker: command not found. * Potential Issues: * If the runner’s host environment changes (e.g., Docker is removed or upgraded), the testing job could break. * Other runners with different tags or environments might not support the same commands, causing inconsistent behavior. * For portability, specifying an image (e.g., docker:stable) with Docker-in-Docker (dind) could make the job more robust. 3\. Analysis of LogsLet’s summarize key insights from the logs to reinforce the above points: * Testing Job Logs: * Executor: Shell (PowerShell) on host ANDROID. * Environment: Runs natively, not in a Docker container, because no image is specified. * Commands: * docker ps: Lists running containers, showing postiz, postgres, redis, and portainer. * docker images: Lists available images, including node:17-alpine3.14 (used by run\_unit\_tests), postgres:17-alpine, and others. * Outcome: Job succeeds because the host has Docker and the commands execute without errors. * Tags: arm, indicating the runner is likely on ARM hardware (e.g., Raspberry Pi or ARM-based server). * Run Unit Tests Job Logs: * Executor: Docker with image: node:17-alpine3.14. * Environment: Runs in a container with Node.js 17 and Alpine Linux 3.14, ensuring a consistent Node environment. * Commands: * Before Script: * ls: Lists project files (Dockerfile, README.md, app, etc.). * pwd: Shows working directory (/builds/group1271405/small). * cd app: Navigates to the app directory. * ls: Lists app files (package.json, server.js, server.test.js, etc.). * npm install: Installs dependencies, adding 557 packages with some vulnerabilities (not critical for the job). * Script: * npm test: Runs Jest tests, checking for index.html, Dockerfile, and .gitignore. * Tests pass (3 passed, 3 total), generating a junit.xml report. * Outcome: Job succeeds, with tests confirming file existence. * Tags: winDocker, indicating a Docker runner, possibly on a Windows host (though the container is Alpine-based). 4\. Recommendations * For testing Job: * Consider specifying an image (e.g., docker:stable) and using Docker-in-Docker (services: - docker:dind) to ensure portability and consistency across runners. * Example:yaml Copy testing: image: docker:stable services: - docker:dind tags: - arm script: - docker ps - docker images * This avoids reliance on the host’s Docker installation. * For run\_unit\_tests Job: * The setup is robust, using a specific Node.js image. * Address the reported vulnerabilities from npm install by running npm audit fix or updating dependencies, if possible. * Consider updating the image to a newer version (e.g., node:18-alpine or later) if compatible, as node:17-alpine3.14 is from 2022 (per the logs: 2 years ago). * General: * Ensure runners with tags arm and winDocker are consistently configured to avoid surprises. * Add error handling or checks (e.g., docker --version) in the testing job to fail early if Docker is unavailable. 5\. Summary * Job Testing vs. Unit Testing: * Job testing (testing) validates the CI/CD job’s execution, here checking the Docker environment with docker ps and docker images. * Unit testing (run\_unit\_tests) validates code logic, here using Jest to check file existence. * No Image in testing: * The job runs on the host’s shell executor, relying on the host’s Docker installation. * It works because the host (ANDROID) has Docker, but it’s less reproducible than run\_unit\_tests, which uses a Docker image. * Specifying an image would improve consistency. * Logs: * testing: Confirms Docker is available, listing containers and images. * run\_unit\_tests: Runs tests in a Node.js container, passing all checks. If you have further questions about the configuration, logs, or testing strategies, let me know! ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FFPpekB4JRxkOr0c5Bte8%252Fimage.png%3Falt%3Dmedia%26token%3Dc3f1a8f4-f5b5-434a-b960-d22fee8d9ade&width=768&dpr=4&quality=100&sign=ba490613&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fawzqg3xrMmYRjUOgk9is%252Fimage.png%3Falt%3Dmedia%26token%3Dd3a12fcb-d59e-44b7-aa9e-65facf10fb6f&width=768&dpr=4&quality=100&sign=4117bd77&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252F5Qtk6d2u96KOc6qKXTnx%252Fimage.png%3Falt%3Dmedia%26token%3D80914957-fca0-43c6-8acc-61cfd9f94b4c&width=768&dpr=4&quality=100&sign=22e08113&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FXRPKwtlijofKoe4sIn5X%252Fimage.png%3Falt%3Dmedia%26token%3Debbc72ac-6d5b-4fc7-bcb7-e24fde46c2f9&width=768&dpr=4&quality=100&sign=f11d7be&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FtxJS1Hqe0PBgiiypzmZW%252Fimage.png%3Falt%3Dmedia%26token%3D4c9e9ac6-5d84-4dd9-99a6-e39928b57524&width=768&dpr=4&quality=100&sign=d120766a&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Faz68R7z7Vh65FW63PqpV%252Fimage.png%3Falt%3Dmedia%26token%3Df895cdef-ca05-4bc7-b90c-3d48430675d2&width=768&dpr=4&quality=100&sign=61a07fbe&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252F8QaMyULKmkDlgB42MyO3%252Fimage.png%3Falt%3Dmedia%26token%3D2ceeaad0-5de7-42eb-830e-16d5b12c32ff&width=768&dpr=4&quality=100&sign=4d3fa35b&sv=2) --- # demo | GitLab CI/CD - From Zero To Hero [Previousgitlab runner](/gitlab-ci-cd-from-zero-to-hero/gitlab-runner) [Nextinstall gitlab runner local](/gitlab-ci-cd-from-zero-to-hero/install-gitlab-runner-local) Last updated 2 months ago ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FbmOCg7UfcCBgkn8txZIZ%252Fimage.png%3Falt%3Dmedia%26token%3Dc00033a8-acdf-439f-bfeb-aa68508abdad&width=768&dpr=4&quality=100&sign=aa80f531&sv=2) --- # Pipeline | GitLab CI/CD - From Zero To Hero [Jobs](/gitlab-ci-cd-from-zero-to-hero/pipeline/jobs) [Stages](/gitlab-ci-cd-from-zero-to-hero/pipeline/stages) [NextJobs](/gitlab-ci-cd-from-zero-to-hero/pipeline/jobs) --- # trigger merge request | GitLab CI/CD - From Zero To Hero [Previousbranches](/gitlab-ci-cd-from-zero-to-hero/branches) [Nextgitlab variables](/gitlab-ci-cd-from-zero-to-hero/gitlab-variables) Last updated 2 months ago * pull request == merge request Copy fch merge request approva -> piline radi lancer kolchi mn lwl fl merge request ri test stage mais fch merga m3a main 5ask dz 3lia stages kamlin ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fd0RwwECVpkKgJcyGeVyT%252Fimage.png%3Falt%3Dmedia%26token%3Db2ed24d6-9cea-481b-8e36-67c2fad7d2f7&width=768&dpr=4&quality=100&sign=d195feb5&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FLXyFJIXlgkz2ThvUPcvU%252Fimage.png%3Falt%3Dmedia%26token%3Db11762fe-b16d-4b55-a65c-f9563e84c6b2&width=768&dpr=4&quality=100&sign=5dde675c&sv=2) --- # Jobs | GitLab CI/CD - From Zero To Hero [PreviousPipeline](/gitlab-ci-cd-from-zero-to-hero) [NextStages](/gitlab-ci-cd-from-zero-to-hero/pipeline/stages) Last updated 2 months ago t9dr smii ayi 7aja mn ri had names * script: ayi command linux or windows kol mra commiti automatically ki trigger pipline mta7j dir walo ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FvhR2M8jkKLFO7wvu46KL%252Fimage.png%3Falt%3Dmedia%26token%3D37e1d5d0-efa6-4bb1-99af-45cd6f19e8f8&width=768&dpr=4&quality=100&sign=5f06f018&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fr9zEmaQbFC8hfPCMwsv1%252Fimage.png%3Falt%3Dmedia%26token%3D962003d2-a0fa-4116-b154-7ae841de76d2&width=768&dpr=4&quality=100&sign=251bbe25&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FDpbkoCzkn9ayCz0O4ogN%252Fimage.png%3Falt%3Dmedia%26token%3Dfb0e1e5d-2e2e-4442-8d59-5f1ce71d4194&width=768&dpr=4&quality=100&sign=1b33622b&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FvBdE0WkuET0d2VKLbEwo%252Fimage.png%3Falt%3Dmedia%26token%3D260bfb47-75db-411a-b08e-9c67468df09f&width=768&dpr=4&quality=100&sign=912718ea&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FE23ihWmsHv7xvt4XS9WU%252Fimage.png%3Falt%3Dmedia%26token%3D1db8ad5e-2977-42d4-ba93-a56dba858ae8&width=768&dpr=4&quality=100&sign=43f35753&sv=2) --- # Demo Overview & Node.js Project Overview | GitLab CI/CD - From Zero To Hero [Previous\------------------------](/gitlab-ci-cd-from-zero-to-hero/undefined) [Next2 - Run Unit Tests & Collect Test Reports](/gitlab-ci-cd-from-zero-to-hero/2-run-unit-tests-and-collect-test-reports) Last updated 9 days ago Copy jest : js testing framework grey color alway mean ignore files jest kat genere junit.xml file zido f igonore file ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fs4WZFDoe1c5MNU22ln52%252Fimage.png%3Falt%3Dmedia%26token%3Dd74b1519-bc9d-4d71-8916-393a10082f79&width=768&dpr=4&quality=100&sign=b9292ed2&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FHsvARxmyfsEmBLkKf4D8%252Fimage.png%3Falt%3Dmedia%26token%3Df2ba07dd-76b3-41cb-9e5d-b4c641bdf6eb&width=768&dpr=4&quality=100&sign=be9ce55&sv=2) --- # 12-Add Docker Runner on EC2 Instance | GitLab CI/CD - From Zero To Hero [Previous11- Execute jobs on specific Runner (Tags)](/gitlab-ci-cd-from-zero-to-hero/11-execute-jobs-on-specific-runner-tags) [Next13 - Group Runners: Runner for a GitLab Group](/gitlab-ci-cd-from-zero-to-hero/13-group-runners-runner-for-a-gitlab-group) Last updated 14 days ago * we dont wanna to install node , npm on runners directly * LETS USE DOCKER [](#how-to-register-a-runner) How to register a runner ? ------------------------------------------------------------- Copy ofc nta bagii docker exec 5ask installi docker hwa lwl Copy gitlab-runner.exe register or sudo gitlab-runner register ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FGq3CQY6gPVg4BdeyMevj%252Fimage.png%3Falt%3Dmedia%26token%3Df5862abe-b44f-4f86-838f-a054d32148ef&width=768&dpr=4&quality=100&sign=9c086481&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fiq4avwlnEik0yUNGCb4i%252Fimage.png%3Falt%3Dmedia%26token%3Df65cddcf-02d1-4aab-9ec6-0bce9043c534&width=768&dpr=4&quality=100&sign=a4a98be4&sv=2) --- # scripts | GitLab CI/CD - From Zero To Hero [PreviousStages](/gitlab-ci-cd-from-zero-to-hero/pipeline/stages) [Nextbranches](/gitlab-ci-cd-from-zero-to-hero/branches) Last updated 2 months ago f real example mgadirch dir commands f pipline donc kadir script.sh ### [](#example) example: Copy chmod +x script_commands.sh ./script_commands.sh ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FgibTkR3YucppT6fI8uVN%252Fimage.png%3Falt%3Dmedia%26token%3Db52a169c-5ff8-43dd-8a4c-e7a2c2daa20b&width=768&dpr=4&quality=100&sign=df9210fa&sv=2) --- # branches | GitLab CI/CD - From Zero To Hero [Previousscripts](/gitlab-ci-cd-from-zero-to-hero/scripts) [Nexttrigger merge request](/gitlab-ci-cd-from-zero-to-hero/trigger-merge-request) Last updated 2 months ago by default ayi branch creatiha ka trigeer pipline donc gitlab-ci.yml ki tapply 3la all branches hada rah prb donc kifach t5alii build image push image deploy image ONly for main branch ### [](#solution) solution: branch fix-bug-001 tcreat w pipline dazt gir mn stage wa7d li hia test si bgytii run only from main kadir only keywords sinon: worlflow + rules ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FEdfBgw9mPilt2gFAfVpO%252Fimage.png%3Falt%3Dmedia%26token%3D4b4b52d0-3231-487a-bafe-1c66cefd6908&width=768&dpr=4&quality=100&sign=c5c112e4&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FXON8MRH9V5VM65C8oHOr%252Fimage.png%3Falt%3Dmedia%26token%3D144946fb-f093-4c0d-b27f-8639396eef8b&width=768&dpr=4&quality=100&sign=cf0fe507&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FzgMbLWk7ogBPao2DOljO%252Fimage.png%3Falt%3Dmedia%26token%3Dba53f6d3-81e2-458e-8a5e-cfb65992043c&width=768&dpr=4&quality=100&sign=1f926496&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FcPXxzEhe4x2zQfARawpj%252Fimage.png%3Falt%3Dmedia%26token%3D4fae94b7-68c7-48b1-966d-69f85535e279&width=768&dpr=4&quality=100&sign=467de1fb&sv=2) --- # tricks | GitLab CI/CD - From Zero To Hero [Previous3 - Build Docker Image & Push to Private Registry](/gitlab-ci-cd-from-zero-to-hero/3-build-docker-image-and-push-to-private-registry) Last updated 4 days ago [](#id-1-syntax) 1-syntax: ------------------------------- 2- artifacts:reports example syntax Copy artifacts:reports:requirements artifacts: reports: requirements:[space] continue 3-SYNTAX Copy stages: raha plural which mean s which rah list - a - b stage: a ### [](#id-4-syantx-needs) 4 -syantx needs chno type : [https://docs.gitlab.com/ci/yaml/artifacts\_reports/](https://docs.gitlab.com/ci/yaml/artifacts_reports/) [https://docs.gitlab.com/ci/yaml/#after\_script](https://docs.gitlab.com/ci/yaml/#after_script) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fbh0lHlXmU7TP8GgJkodQ%252Fimage.png%3Falt%3Dmedia%26token%3D6d3f0f85-cbbe-4276-80ba-b7847b8b9ced&width=768&dpr=4&quality=100&sign=ac31c3c3&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Ffz8WVQywEeh244LDkGPz%252Fimage.png%3Falt%3Dmedia%26token%3D829ba142-a514-4969-b877-e6874e679a1b&width=768&dpr=4&quality=100&sign=a8b22acd&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FlsgQYw0lL7Af4qkyPi1x%252Fimage.png%3Falt%3Dmedia%26token%3D3eb271b5-11b5-496d-aca8-3665addd5b24&width=768&dpr=4&quality=100&sign=25d612d8&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FDB70AjCOh7gihIqFesCj%252Fimage.png%3Falt%3Dmedia%26token%3Dc5f400f0-e9ae-4c1c-bc13-c498e207f064&width=768&dpr=4&quality=100&sign=1b156d9c&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FzceV3kjjUvkLujYFlxl8%252Fimage.png%3Falt%3Dmedia%26token%3D408bd1c2-a647-496d-a440-eab709205e63&width=768&dpr=4&quality=100&sign=2588c783&sv=2) --- # gitlab runner | GitLab CI/CD - From Zero To Hero [Previousworkflow execution](/gitlab-ci-cd-from-zero-to-hero/workflow-execution) [Nextdemo](/gitlab-ci-cd-from-zero-to-hero/demo) Last updated 14 days ago Copy t9dr installih fin ma bgyti machine .... ### [](#register) register Copy register hw ali kidyr biding between gitlab server w runner [](#notes) notes --------------------- Copy 5ask t make sure bli koulchi minstallih fih for example nta dyr gitlab runner arm window w pipline fih npm rask npm ykoun deja minstalli ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FKoWy048ZI1zDCplxPeH0%252Fimage.png%3Falt%3Dmedia%26token%3D3082fc6f-ff69-4fc4-a9c0-8779590893e8&width=768&dpr=4&quality=100&sign=1b9a81&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fbbl2HlrNTSYaaY6ZPwRk%252Fimage.png%3Falt%3Dmedia%26token%3D4493e6ec-cde6-4c21-ac9e-3c37d3c4cd51&width=768&dpr=4&quality=100&sign=207108c9&sv=2) --- # workflow execution | GitLab CI/CD - From Zero To Hero [Previousexecutor](/gitlab-ci-cd-from-zero-to-hero/executor) [Nextgitlab runner](/gitlab-ci-cd-from-zero-to-hero/gitlab-runner) Last updated 2 months ago ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FSrGlCBSKr1UJoYCHGFx1%252Fimage.png%3Falt%3Dmedia%26token%3D2ec91f23-459e-4172-a08a-81f911b6c542&width=768&dpr=4&quality=100&sign=a8bfdb4e&sv=2) --- # 15 - Note on GitLab Runner Versions - Compatibility | GitLab CI/CD - From Zero To Hero [Previous14 - Self-Managed GitLab Instance](/gitlab-ci-cd-from-zero-to-hero/14-self-managed-gitlab-instance) [Next\------------------------](/gitlab-ci-cd-from-zero-to-hero/undefined) Last updated 13 days ago Copy 5as gitlab instance w gitlab runner ikon nfs version ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FaXpdWG8iQJpZlvMxuMQS%252Fimage.png%3Falt%3Dmedia%26token%3D78d513ec-aa3f-4097-b4fa-67183a82f589&width=768&dpr=4&quality=100&sign=ca5bf596&sv=2) --- # gitlab runner | GitLab CI/CD - From Zero To Hero program kat install fmachine machi fl machine li gadi thosti fiha gitlab instance [PreviousInstall behind the scenes](/gitlab-ci-cd-from-zero-to-hero/install-behind-the-scenes) [Nextexecutor](/gitlab-ci-cd-from-zero-to-hero/executor) Last updated 2 months ago --- # gitlab variables | GitLab CI/CD - From Zero To Hero [Previoustrigger merge request](/gitlab-ci-cd-from-zero-to-hero/trigger-merge-request) [Nextfile variables](/gitlab-ci-cd-from-zero-to-hero/gitlab-variables/file-variables) Last updated 2 months ago [https://docs.gitlab.com/ee/ci/variables/predefined\_variables.htmldocs.gitlab.com](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FknZcojfuPermM4NlMK0U%252Fimage.png%3Falt%3Dmedia%26token%3D7c02ced6-13e9-4738-abab-9859ae5277a0&width=768&dpr=4&quality=100&sign=9675b01b&sv=2) --- # 13 - Group Runners: Runner for a GitLab Group | GitLab CI/CD - From Zero To Hero [Previous12-Add Docker Runner on EC2 Instance](/gitlab-ci-cd-from-zero-to-hero/12-add-docker-runner-on-ec2-instance) [Next14 - Self-Managed GitLab Instance](/gitlab-ci-cd-from-zero-to-hero/14-self-managed-gitlab-instance) Last updated 13 days ago * kol group fih des apps * ila 3tyti acces lih chi grp -> acces all projects in group ### [](#groups-runners) groups runners Copy 3iwad dir runners for each project kadirhom fgroup ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252F8wHUtsEFFCjDf3rhTCsE%252Fimage.png%3Falt%3Dmedia%26token%3D4d55301a-1b37-433b-aef4-0913190a1c29&width=768&dpr=4&quality=100&sign=70ff0960&sv=2) ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252Fsc08Z0tYHeGDcraqt6LL%252Fimage.png%3Falt%3Dmedia%26token%3Dcc83ce8a-b771-417b-a0c9-dff6d9122837&width=768&dpr=4&quality=100&sign=1ad0161c&sv=2) --- # executor | GitLab CI/CD - From Zero To Hero [Previousgitlab runner](/gitlab-ci-cd-from-zero-to-hero/install-behind-the-scenes/gitlab-runner) [Nextworkflow execution](/gitlab-ci-cd-from-zero-to-hero/workflow-execution) Last updated 2 months ago Virtual machine executor docker exec kubernetes exec docker machine exec 1 executor per runner 1 mchine dirh multi runner w each runner dir fiha one exec ![](https://walids-organization-2.gitbook.io/~gitbook/image?url=https%3A%2F%2F3302024411-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FAUaoIVjn5qlUBELu2of7%252Fuploads%252FY0T9RMRCSN5KZ84iZevQ%252Fimage.png%3Falt%3Dmedia%26token%3Dfefb6d3c-b26c-4f01-897c-bddd9d51188e&width=768&dpr=4&quality=100&sign=2d1c1661&sv=2) ---