Installation

curl -fsSL https://gitlab.com/gitlab-org/ci-cd/runner-tools/glci/-/raw/main/install.sh | bash

Downloads the latest stable pre-built binary from the releases page for your platform (macOS/Linux, amd64/arm64) to /usr/local/bin, then runs glci doctor to verify your environment. The glci Docker image is pulled automatically on first run.

Override install directory or pin a version:

GLCI_INSTALL_DIR=~/.local/bin bash <(curl -fsSL .../install.sh)
bash <(curl -fsSL .../install.sh) -s v0.1.0

Bleeding edge#

curl -fsSL https://gitlab.com/gitlab-org/ci-cd/runner-tools/glci/-/raw/main/install-bleeding.sh | bash

Installs the latest main commit via go install. Requires Go 1.25+. Because go install does not embed build metadata, the daemon will not auto-restart on upgrades – run glci daemon stop manually after reinstalling.

Build from source#

git clone https://gitlab.com/gitlab-org/ci-cd/runner-tools/glci
cd glci
make install  # builds binary with embedded commit hash
make docker   # builds glci:local Docker image (required for dev builds)

Both steps are required for development builds. make install embeds the commit so the daemon auto-restarts on upgrades. make docker builds the local image that dev builds prefer over the registry image.

Upgrading#

Re-run the same install method you used originally. glci detects version mismatches with the running daemon and auto-restarts it on the next command.

Check versions with glci version:

glci  commit abc1234
daemon commit abc1234 (pid 12345, up 2h30m)

If the output shows [VERSION MISMATCH], force a restart with glci daemon stop – the daemon auto-starts on the next command.

Verifying the installation#

glci doctor

Checks Docker connectivity, daemon status, GitLab token, CI config parsing, and Git repository. See Prerequisites for details.

Esc