cli/docs/installation_options.md

218 lines
6.9 KiB
Markdown
Raw Permalink Normal View History

---
stage: Create
group: Code Review
info: To determine the technical writer assigned to the Stage/Group associated with
this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
# Other options to install the GitLab CLI
These installation instructions are either not officially supported by GitLab, or
are maintained by the community.
## Table of contents
- [macOS](#macos)
- [Windows](#windows)
- [Linux](#linux)
- [Homebrew](#homebrew)
- [Snapcraft (currently out of date)](#snapcraft)
- [Arch Linux](#arch-linux)
- [Alpine Linux](#alpine-linux)
- [Install a pinned version from edge](#install-a-pinned-version-from-edge)
- [Alpine Linux Docker-way](#alpine-linux-docker-way)
- [Fedora](#fedora)
- [Nix/NixOS](#nixnixos)
- [MPR (Debian/Ubuntu)](#mpr-debianubuntu)
- [Prebuilt-MPR](#prebuilt-mpr)
- [Spack](#spack)
- [Docker](#docker)
- [GitLab CICD](#gitlab-cicd)
## macOS
- Homebrew (officially supported)
- Install with: `brew install glab`
- Update with: `brew upgrade glab`
- [MacPorts](https://ports.macports.org/port/glab/summary):
- Install with: `sudo port install glab`
- Update with: `sudo port selfupdate && sudo port upgrade glab`
- [ASDF tool version manager](https://asdf-vm.com/guide/introduction.html):
- Install with: `asdf plugin add glab; asdf install glab latest; asdf global glab latest`
- Install into `usr/bin` with a shell script:
`curl -s "https://gitlab.com/gitlab-org/cli/-/raw/main/scripts/install.sh" | sudo sh`
Before running any install script, review its contents.
## Windows
- Homebrew (through [Windows Subsystem for Linux](https://learn.microsoft.com/en-us/windows/wsl/install)) (officially supported)
- Install with: `brew install glab`
- Update with: `brew upgrade glab`
- [WinGet](https://github.com/microsoft/winget-cli)
- Install with: `winget install glab.glab`
- Update with: `winget install glab.glab`
2023-04-21 16:52:54 +00:00
- [Chocolatey](https://chocolatey.org)
- Install with: `choco install glab`
- Update with: `choco upgrade glab`
- [scoop](https://scoop.sh)
- Install with: `scoop install glab`
- Update with: `scoop update glab`
- [ASDF tool version manager](https://asdf-vm.com/guide/introduction.html):
- Requires [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install).
- Install with: `asdf plugin add glab; asdf install glab latest; asdf global glab latest`
- Download an EXE installer or the `glab.exe` binary from the [releases page](https://gitlab.com/gitlab-org/cli/-/releases)
## Linux
- Download prebuilt binaries from the [releases page](https://gitlab.com/gitlab-org/cli/-/releases)
### Homebrew
Installing from Homebrew is the officially supported installation method for Linux.
- Install with: `brew install glab`
- Update with: `brew upgrade glab`
### ASDF
To install with the [ASDF tool version manager](https://asdf-vm.com/guide/introduction.html), run these commands:
```shell
asdf plugin add glab; asdf install glab latest; asdf global glab latest
```
### Snapcraft
This method is out of date. See [issue 1127](https://gitlab.com/gitlab-org/cli/-/issues/1127) for more information.
To install `glab` from the [Snap Store](https://snapcraft.io/glab):
1. Make sure you have [snap installed](https://snapcraft.io/docs/installing-snapd) on your Linux distribution.
1. Install the package: `sudo snap install --edge glab`
1. Grant `glab` access to SSH keys: `sudo snap connect glab:ssh-keys`
[![Download from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/glab)
### Arch Linux
For Arch Linux, `glab` is available:
- From the [`community/glab`](https://archlinux.org/packages/community/x86_64/glab/) package.
- By downloading and installing an archive from the
[releases page](https://gitlab.com/gitlab-org/cli/-/releases).
- From the [Snap Store](https://snapcraft.io/glab), if
[snap](https://snapcraft.io/docs/installing-snap-on-arch-linux) is installed.
- Installing with the package manager: `pacman -S glab`
### Alpine Linux
`glab` is available on the [Alpine Community Repository](https://git.alpinelinux.org/aports/tree/community/glab?h=master) as `glab`.
When installing, use `--no-cache` so no `apk update` is required:
```shell
apk add --no-cache glab
```
#### Install a pinned version from edge
To ensure that by default edge is used to get the latest updates. We need the edge repository in `/etc/apk/repositories`.
Afterwards you can install it with `apk add --no-cache glab@edge`
We use `--no-cache` so an `apk update` is not required.
```shell
echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
apk add --no-cache glab@edge
```
#### Alpine Linux Docker-way
Use edge directly
```shell
FROM alpine:3.13
RUN apk add --no-cache glab
```
Fetching latest glab version from edge
```shell
FROM alpine:3.13
RUN echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
RUN apk add --no-cache glab@edge
```
### Fedora
Fedora users can find `glab` as `glab` in the official repositories.
Install it with the command `dnf install glab`.
### Nix/NixOS
Nix (NixOS) users can install from [nixpkgs](https://search.nixos.org/packages?channel=unstable&show=glab&from=0&size=30&sort=relevance&query=glab) with the command `nix-env -iA nixos.glab`.
### MPR (Debian/Ubuntu)
`glab` is available inside the [makedeb package repository](https://mpr.makedeb.org/packages/glab). To install, run the following:
```shell
git clone 'https://mpr.makedeb.org/glab'
cd glab/
makedeb -si
```
### WakeMeOps (Debian/Ubuntu)
`glab` also exists in the [WakeMeOps repository](https://docs.wakemeops.com/packages/glab/):
```shell
# Add WakeMeOps repository
curl -sSL "https://raw.githubusercontent.com/upciti/wakemeops/main/assets/install_repository" | sudo bash
# Install glab
sudo apt install glab
```
#### Prebuilt-MPR
The above method downloads glab from source and builds it before packaging it into a `.deb` package. If you don't want to compile or just want a prebuilt package, you can also install glab from the Prebuilt-MPR:
1. Set up [the Prebuilt-MPR on your system](https://docs.makedeb.org/prebuilt-mpr/getting-started/#setting-up-the-repository).
1. Install with the command `sudo apt install glab`.
#### Spack
- To install: `spack install glab`.
- To update: `spack uninstall glab && spack install glab`
## Docker
A Docker image for `glab` is available at
[`gitlab/glab`](https://hub.docker.com/r/gitlab/glab/):
```shell
docker pull gitlab/glab
```
### GitLab CI/CD
To use `glab` in a CI/CD pipeline, you must set the `entrypoint` of the image to
the `glab` executable itself. For more information, see the GitLab documentation
for [Override the entrypoint of an image](https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#override-the-entrypoint-of-an-image). An example `.gitlab-ci.yml`:
Example `.gitlab-ci.yml`:
```yaml
example:
stage: test
image:
name: "gitlab/glab"
entrypoint: [""]
script:
- glab --version
```