GitLab does not offer a visual pipeline editor
Pipelines are described in YAML
Pipelines are stored in .gitlab-ci.yml
Minimal job:
job_name:
script: pwd
script
can be a string but is mostly an array:
job_name:
script:
- pwd
- whoami
Jobs fail if any command fails (exit code > 0)
script
supports all herestring variants of YAML
Literal multiline block:
job_name:
script:
- |
multi
line
Shell here documents:
job_name:
script:
- |
tr a-z A-Z <<EOF
lower case to be converted to upper case
EOF
–
Script blocks can be testing using a container based on alpine
:
docker run -it --rm -v $PWD:/src -w /src alpine sh
Jobs represent isolated steps in a pipeline
Stages are executed sequentially
Jobs in the same stage are executed in parallel
Special stages .pre
and .post
See src/main.go
Initialize dependency information: go mod init
Update dependency information: go mod tidy
Build command: go build -o hello .
Use docker to play:
```bash
docker run –interactive –tty –rm
–volume ${PWD}:/project –workdir /project
golang bash
Follow in web UI or IDE
src/
to root of projectbuild/.gitlab-ci.yml
to root of projectlint/.gitlab-ci.yml
to root of projectparallel/.gitlab-ci.yml
to root of project