Steps are reusable units of a job
The can replace script
with one or more steps
under run
No more !reference[]
tags to merge multiple script blocks
job:
variables:
MESSAGE: "GitLab workshop"
run:
- name: say_hi
step: gitlab.inmylab.de/steps/message@v1.0.0
inputs:
message: "hello, $"
Steps can also be used to run existing GitHub Actions
Eventually steps will be discoverable in the CI/CD Catalog
Smaller units than jobs
Both are self-contained
Both are configurable through inputs
Common layout, i.e. header and body
Steps are a smaller unit than templates
Steps are easier to compose…
…compared to !reference[]
tags
See chapter CI/CD Steps