Are you tired of pushing commits to test your Gitlab CI?
Then this is the tool for you.
It lets you simulate a CI pipeline on your local machine.
Download and put binary in /usr/bin
$ sudo su `must be installed as root, if placed in /usr/bin/`
$ curl -L https://github.com/firecow/gitlab-ci-local/releases/latest/download/linux.gz | gunzip -c > /usr/bin/gitlab-ci-local
$ chmod +x /usr/bin/gitlab-ci-local
Install gitbash
Download and put binary in C:\Program Files\Git\mingw64\bin
$ curl -L https://github.com/firecow/gitlab-ci-local/releases/latest/download/win.gz | gunzip -c > /c/Program\ Files/Git/mingw64/bin/gitlab-ci-local.exe
TODO: Fill this
$ cd /home/user/workspace/myproject
$ gitlab-ci-local
$ echo "alias gcl='gitlab-ci-local'" >> ~/.bashrc
TODO: Fill this
Artifacts works right now, as along as you don't overwrite tracked files and as long as you don't use dependencies tag.
$ npm run build
$ node -r source-map-support/register dist/index.js --cwd /home/user/workspace/project-folder/
$ npm run build-linux
$ npm run build-win
$ npm run build-macos
$ npm run build-all
- include:local isn't recursive
- Only show output in cli, if -v and/or -vv have been passed as argument
- Configure gitlab-ci-local per project via .gitlab-ci.local/config.yml
- Verbosity on .gitlab-ci.local.yml overrides and appends.
- Different color when printing
when:{{value}}
.
- rules
- when:always
- when:on_failure
- when:delayed
- start_in (Used only with when:delayed)
- include:file
- include:template
- include:remote
- coverage (code coverage)
- retry (in case of failure)
- timeout (job max execution time)
- services
- image
- cache
- pages
- resource_group
- interruptible
- environment
- artifacts (reset/restore/uploads "files" from job to job)
- dependencies (depend or non-depend on artifacts, default is depend ALL)
- only
- except
- parallel
- trigger