gitlab-trigger v0.0.0
CI Trigger
Trigger GitLab pipelines from other repositories.
Usage
(This guide is using yet-to-be-released features.)
You will need to update your .gitlab-ci.yml file for the base project that will trigger pipelines for dependent
repositories.
This can be done automagically with the setup command:
cd base-project;
npm install --no-save gitlab-trigger
$(npm bin)/gitlab-trigger setup "my-group/dependent1"setup-triggers will use a personal access token to create a new pipeline trigger in the desired
repository through the GitLab API.
This trigger will be added to the local .gitlab-ci.yml file as a trigger. By default, setup-triggers will use a
YAML template under a hidden key to reduce repeated code.
After running setup-triggers, .gitlab-ci.yml will resemble:
# Stages are recommended, but not added by `setup-triggers`
stages:
- build
- test
- deploy
- trigger
# YAML template:
.trigger: &trigger
stage: trigger
image: codelenny/gitlab-trigger
script: [ gitlab-trigger trigger ]
# Added trigger:
"my-group/dependent1":
<<: *trigger
variables: { TOKEN: "<TOKEN>" }When the trigger stage is released, the trigger script will queue each dependent pipeline.
To report the build status of the triggered pipeline back in the base project, the report script can be added to the
.gitlab-ci.yml configuration file for each dependent repository:
stages:
- build
- test
- deploy
- report
- trigger
report:
stage: report
image: codelenny/gitlab-trigger
script: [ gitlab-trigger eport ]
only: [ triggers ]
when: [ always ]
variables: { TOKEN: "<TOKEN>" }This report stage will find the triggering pipeline thanks to variables added by the trigger script, and will send
the status of the current pipeline back to the pipeline in the base project.
8 years ago