diff --git a/knowledge base/gitlab/README.md b/knowledge base/gitlab/README.md index f5948c9..44737e4 100644 --- a/knowledge base/gitlab/README.md +++ b/knowledge base/gitlab/README.md @@ -828,6 +828,7 @@ Solution: set the correct ownership with - [Upgrade Path tool] - [Elasticsearch] - [CODEOWNERS syntax] +- [GitLab CLI][glab] ### Sources @@ -871,6 +872,7 @@ Solution: set the correct ownership with [buildah]: ../buildah.md +[glab]: glab.md [kaniko]: ../kaniko.md [self-hosting]: ../self-hosting.md diff --git a/knowledge base/gitlab/glab.md b/knowledge base/gitlab/glab.md new file mode 100644 index 0000000..d4b607b --- /dev/null +++ b/knowledge base/gitlab/glab.md @@ -0,0 +1,93 @@ +# GitLab CLI + +The `glab` utility is a CLI tool for GitLab. + +Available for repositories hosted on GitLab.com, GitLab Dedicated, and GitLab Self-Managed.
+Supports multiple authenticated GitLab instances.
+Automatically detects the authenticated hostname from the remotes available in one's working Git directory. + +1. [TL;DR](#tldr) +1. [Further readings](#further-readings) + +## TL;DR + +
+ Setup + +```sh +# Install. +brew install 'glab' + +# Start interactive configuration. +glab auth login + +# Load shell completions. +glab completion -s 'fish' > "$HOME/.config/fish/completions/glab.fish" +source <(glab completion -s 'bash') +``` + +Global configuration file: `~/.config/glab-cli/config.yml`.
+Repository-specific configuration file: `.git/glab-cli/config.yml`
+They contain tokens in plaintext. + +
+ +
+ Usage + +```sh +# Get help. +glab --help +glab user --help +glab release view --help + +# Make changes to the configuration. +glab config edit +glab config edit --local +glab config set 'host' 'gitlab.example.org' --global +glab config set 'git_protocol' 'ssh' --host 'gitlab.example.org' +glab config set 'api_protocol' 'https' -h 'gitlab.example.org' +glab config set 'editor' 'vim' +glab config set 'token' 'xxxxx' -h 'gitlab.com' +glab config set 'check_update' 'false' --global + +# Clone repositories. +glab repo clone 'someGroup/someRepo' + +# List issues. +glab issues list +glab issues list --repo 'someGroup/someNamespace/someRepo' + +# List Merge Requests. +glab mr list +glab mr list --repo 'someGroup/someNamespace/someRepo' +``` + +
+ + + +## Further readings + +- [Codebase] + + + + + + + +[codebase]: https://gitlab.com/gitlab-org/cli + +