All Projects → firecow → Gitlab Ci Local

firecow / Gitlab Ci Local

Licence: mit
Tired of pushing to test your .gitlab-ci.yml?

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Gitlab Ci Local

Gitlab Dashboard
📺 TV dashboard for a global view on Gitlab Pipelines
Stars: ✭ 107 (-20.15%)
Mutual labels:  pipeline, ci, gitlab-ci, gitlab
Gitlab Ci Dashboard
📊 Dashboard for monitoring GitLab CI builds and pipelines for TV
Stars: ✭ 79 (-41.04%)
Mutual labels:  ci, cd, gitlab-ci, gitlab
Cimonitor
Displays CI statuses on a dashboard and triggers fun modules representing the status!
Stars: ✭ 34 (-74.63%)
Mutual labels:  pipeline, ci, cd, gitlab
Gitlab Ci Pipeline Php
☕️ Docker images for test PHP applications with Gitlab CI (or any other CI platform!)
Stars: ✭ 451 (+236.57%)
Mutual labels:  ci, cd, gitlab-ci, gitlab
pipelines-as-code
Pipelines as Code
Stars: ✭ 37 (-72.39%)
Mutual labels:  gitlab, pipeline, ci
Gitlabapiclient
GitLab API client
Stars: ✭ 138 (+2.99%)
Mutual labels:  ci, gitlab-ci, gitlab
howtheydevops
A curated collection of publicly available resources on how companies around the world practice DevOps
Stars: ✭ 318 (+137.31%)
Mutual labels:  pipeline, ci, cd
Pypyr
pypyr task-runner cli & api for automation pipelines. Automate anything by combining commands, different scripts in different languages & applications into one pipeline process.
Stars: ✭ 173 (+29.1%)
Mutual labels:  pipeline, ci, cd
Lastbackend
System for containerized apps management. From build to scaling.
Stars: ✭ 1,536 (+1046.27%)
Mutual labels:  pipeline, ci, cd
Glci
🦊 Test your Gitlab CI Pipelines changes locally using Docker.
Stars: ✭ 471 (+251.49%)
Mutual labels:  ci, gitlab-ci, gitlab
Lambdacd
a library to define a continuous delivery pipeline in code
Stars: ✭ 655 (+388.81%)
Mutual labels:  pipeline, ci, cd
Kdtool
Kubernetes deployment utility
Stars: ✭ 47 (-64.93%)
Mutual labels:  ci, gitlab-ci, gitlab
Crane
⬆ A GitLab CI ready image to upgrade services in Rancher
Stars: ✭ 90 (-32.84%)
Mutual labels:  gitlab-ci, gitlab
Docker Builder
Docker builder builds Docker images from a friendly config file.
Stars: ✭ 81 (-39.55%)
Mutual labels:  ci, cd
Lab
lab is a cli client of gitlab like hub
Stars: ✭ 94 (-29.85%)
Mutual labels:  gitlab-ci, gitlab
Orkestra
Functional DevOps with Scala and Kubernetes
Stars: ✭ 102 (-23.88%)
Mutual labels:  ci, cd
Rain
🌧️ A live example to illustrate python packaging, testing, building, & deploying
Stars: ✭ 99 (-26.12%)
Mutual labels:  ci, cd
Android Ci
A docker image for building Android apps. Supports multiple SDK Build Tools.
Stars: ✭ 101 (-24.63%)
Mutual labels:  ci, gitlab
Go Gitlab Client
A Go gitlab API client & powerful CLI written in Go
Stars: ✭ 107 (-20.15%)
Mutual labels:  ci, gitlab
Documentation
Documentation for Codeship CI & CD service
Stars: ✭ 78 (-41.79%)
Mutual labels:  ci, cd

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

Run gitlab pipelines locally as shell executor or docker executor.

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

build Known Vulnerabilities npm license

Quality Gate Status Maintainability Rating Reliability Rating Security Rating

Coverage Code Smells Duplicated Lines (%)

Table of contents

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

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

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

Convinience

Bash alias

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

Tab completion

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

Quirks

User variables

Put a file like this in $HOME/.gitlab-ci-local/variables.yml

---
project:
  gitlab.com/test-group/test-project.git:
    # Will be type Variable and only available if remote is exact match
    AUTHORIZATION_PASSWORD: djwqiod910321

group:
  gitlab.com/test-group/:
    # Will be type Variable and only available for remotes that include group named 'test-group'
    DOCKER_LOGIN_PASSWORD: dij3213n123n12in3

global:
  # Will be type File, because value is a file path
  SSH_PRIVATE_KEY: '~/.ssh/id_rsa'

Variables will now appear in your jobs, if project or group matches git remote, global's are always present

Decorators

The @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

The @Interactive decorator

# @Interactive
interactive-shell:
  rules:
    - if: $GITLAB_CI == 'false'
      when: manual
  script:
    - docker run -it debian bash

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].