Merge requests


Merge requests

Merge requests enable collaboration

Pipelines can automatically test merge requests

Use rules to decide which jobs to run when

Jobs require a rule to run for merge requests

Commits to a branch with merge request cause multiple events:

  1. Push event to branch
  2. Merge request event

Filter carefully!


Hands-On 1/

  1. Enable lint, audit, build and test for merge requests and pushes

     job_name:
     rules:
     - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == "main"'
     - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
       # ...
    
  2. Prevent deploy in merge requests

     job_name:
       rules:
       - if: '$CI_COMMIT_REF_NAME == "dev" || $CI_COMMIT_REF_NAME == "live"'
       # ...
    

Hands-On 2/2

  1. Prevent trigger in merge requests

     job_name:
       rules:
       - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == "main"'
       # ...
    
  2. Check pipeline
  3. Create new branch
  4. Make dummy change in new branch
  5. Create merge requests

(See new .gitlab-ci.yml)