gcil¶
Launch .gitlab-ci.yml jobs locally, wrapped inside the specific images,
with inplace project volume mounts and adaptive user selections.
Supported .gitlab-ci.yml features¶
Syntax references / .gitlab-ci.yml
# Global configurations
include: FILE_PATH
include:
local: FILE_PATH
include:
- local: FILE_PATH
include:
- project: PROJECT_URL
file: FILE_PATH
include:
- project: PROJECT_URL
file:
- FILE_PATH_1
- FILE_PATH_2
image: IMAGE_NAME
image:
name: IMAGE_NAME
entrypoint: ['COMMANDS']
services:
- ...docker:dind
- SERVICE_NAME
- name: SERVICE_NAME
alias: SERVICE_ALIAS
stages:
- STAGE_NAMES
variables:
- VARIABLES: VALUES
- !reference [.path, to, YAML, node, variables]
# Global scripts
before_script:
- COMMANDS
- !reference [.path, to, YAML, node, before_script]
after_script:
- COMMANDS
- !reference [.path, to, YAML, node, after_script]
# Templates nodes
.TEMPLATES: &TEMPLATES
KEYS: VALUES
# Job nodes
JOB_NAME:
# Job configurations
stage: STAGE_NAME
image: IMAGE_NAME
image:
name: IMAGE_NAME
entrypoint: ['COMMANDS']
services:
- ...docker:dind
- SERVICE_NAME
- name: SERVICE_NAME
alias: SERVICE_ALIAS
variables:
VARIABLES: VALUES
VARIABLE_PREFILLED:
value: VALUE
description: DESCRIPTION
VARIABLE_REFERENCED: !reference [.path, to, YAML, node, variables, VARIABLE]
variables: !reference [.path, to, YAML, node, variables]
# Job templates
<<: *TEMPLATES
extends: TEMPLATE
extends:
- TEMPLATES
# Job scripts
before_script:
- COMMANDS
- !reference [.path, to, YAML, node, after_script]
script:
- COMMANDS
- !reference [.path, to, YAML, node, script]
after_script:
- COMMANDS
- !reference [.path, to, YAML, node, after_script]
# Job executions
parallel:
matrix:
- VARIABLE1: VALUES
VARIABLE2: VALUES
- VARIABLE1: VALUES
VARIABLE3: VALUES
retry: RETRY_COUNT
retry:
max: RETRY_COUNT
tags:
- MANUAL_TAGS
trigger: SIMPLE_TRIGGER (ignored)
trigger:
COMPLEX_TRIGGER (ignored)
when: on_success / manual / on_failure / always
allow_failure: true / false