Problem to solve
I want to skip some jobs in my pipeline depending on CI/CD variables,
I was able to do that using the rules, but the problem is when I do that the Job does not appear as skipped in my pipeline overview, it just dissapears.
After doing some reasearch i found out that this is due to when: never clause
How can I skip jobs, and see them as skipped in the pipeline overview?
Configuration
This file is a template, and might need editing before it works on your project.
This is a sample GitLab CI/CD configuration file that should run without any modifications.
It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
it uses echo commands to simulate the pipeline execution.
A pipeline is composed of independent jobs that run scripts, grouped into stages.
Stages run in sequential order, but jobs within stages run in parallel.
For more information, see: CI/CD YAML syntax reference | GitLab
You can copy and paste this template into a new .gitlab-ci.yml
file.
You should not add this template to an existing .gitlab-ci.yml
file by using the include:
keyword.
To contribute improvements to CI/CD templates, please follow the Development guide at:
Development guide for GitLab CI/CD templates (Deprecated) | GitLab
This specific template is located at:
lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml · master · GitLab.org / GitLab · GitLab
stages: # List of stages for jobs, and their order of execution
- build
- test
- deploy
build-job: # This job runs in the build stage, which runs first.
stage: build
script:
- echo “Compiling the code…”
- echo “Compile complete.”
skip-unit-test:
stage: test
script:
- echo “skipped unit testing due to variable change”
rules:
- if: ‘$test_skip ==“true”’
when: never - when: always
deploy-job: # This job runs in the deploy stage.
stage: deploy # It only runs when both jobs in the test stage complete successfully.
environment: production
script:
- echo “Deploying application…”
- echo “Application successfully deployed.”