JSPM

  • Created
  • Published
  • Downloads 15755
  • Score
    100M100P100Q144620F
  • License MIT

Package Exports

  • gitlab-ci-local

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gitlab-ci-local) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Introduction

Tired of pushing commits to test your .gitlab-ci.yml?

Then this is the tool for you.

Run gitlab pipelines on your local machine as shell executor or docker executor.

Get rid of all those pesky dev workflow shell scripts and make files.

Lines build vulnerabilities dependencies npm license

Table of contents

Examples

Installation

NPM

npm install -g gitlab-ci-local

Linux

Download and put binary in /usr/local/bin

sudo su # must be installed as root, if placed in /usr/local/bin/
curl -L https://github.com/firecow/gitlab-ci-local/releases/latest/download/linux.gz | gunzip -c > /usr/local/bin/gitlab-ci-local
chmod +x /usr/local/bin/gitlab-ci-local
exit

Windows (Git bash)

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

Macos

Download and put binary in /usr/local/bin

sudo su # must be installed as root, if placed in /usr/local/bin/
curl -L https://github.com/firecow/gitlab-ci-local/releases/latest/download/macOS.gz | gunzip -c > /usr/local/bin/gitlab-ci-local
chmod +x /usr/local/bin/gitlab-ci-local
exit

Convinience

Bash alias

echo "alias gcl='gitlab-ci-local'" >> ~/.bashrc

Bash completion

gitlab-ci-local --completion >> ~/.bashrc 

Quirks

Custom decorators

@Description decorator

Adds descriptive text to gitlab-ci-local --list

# @Description Install npm packages
npm-install:
  image: node
  artifacts:
  paths:
    - node_modules/
  script:
    - npm install --no-audit

description-decorator

Artifacts

Shell executor just place files in host directory

Docker executor copies files specified via artifacts field to host

Development

Scripts

npm install
npm run build
npm start

example

Package binaries

npm run pkg-linux
npm run pkg-win
npm run pkg-macos
npm run pkg-all

Will not be implemented

  • pages
  • resource_group
  • interruptible
  • only (deprecated)
  • except (deprecated)
  • parallel
  • trigger
  • retry (in case of failure)
  • timeout (job max execution time)