{"id":24626,"date":"2022-12-20T03:05:38","date_gmt":"2022-12-20T03:05:38","guid":{"rendered":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/"},"modified":"2022-12-20T03:05:38","modified_gmt":"2022-12-20T03:05:38","slug":"how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal","status":"publish","type":"post","link":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/","title":{"rendered":"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal"},"content":{"rendered":"<p> <a href=\"https:\/\/go.fiverr.com\/visit\/?bta=1052423&nci=17043\" Target=\"_Top\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/fiverr.ck-cdn.com\/tn\/serve\/?cid=40081059\"  width=\"601\" height=\"201\"><\/a>\n<\/p>\n<div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage alignnone size-full wp-image-813526\" data-pagespeed-no-defer=\"\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2022\/06\/GitLab.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"GitLab logo\" width=\"1602\" height=\"902\"\/><\/p>\n<p><a href=\"https:\/\/www.howtogeek.com\/devops\/how-to-deploy-a-gitlab-server-with-docker\">GitLab<\/a> is one of the leading source control and CI\/CD solutions for modern software delivery teams. It provides a comprehensive set of features for <a href=\"https:\/\/www.howtogeek.com\/devops\/how-to-use-gitlab-issues-for-tracking-software-development\">planning<\/a>, <a href=\"https:\/\/www.howtogeek.com\/devops\/getting-started-with-gitlabs-continuous-integration-deployment-pipelines-ci-cd\">building<\/a>, and <a href=\"https:\/\/www.howtogeek.com\/devops\/how-to-conduct-code-reviews-with-gitlabs-merge-requests\">delivering<\/a> your software projects.<\/p>\n<p>GitLab\u2019s normally interacted with using its web UI or API. Neither of these options are particularly appealing to terminal-centric developers. Fortunately GitLab also has <a href=\"https:\/\/glab-cli.io\">a CLI<\/a> that provides direct access to your issues, merge requests, pipelines, and other resources, right alongside your code and other shell commands. This article will show you the basics.<\/p>\n<h2 id=\"what-is-glab\">What Is Glab?<\/h2>\n<p>The <code>glab<\/code> GitLab CLI was begun <a href=\"https:\/\/gitlab.com\/profclems\">by Clement Sam<\/a> as a community-led project. It has since been adopted by GitLab, <a href=\"https:\/\/about.gitlab.com\/blog\/2022\/12\/07\/introducing-the-gitlab-cli\">receiving its first GitLab-led official release<\/a> in December 2022. Going forwards, it\u2019ll continue to be maintained by GitLab and the broader community as an open-source tool.<\/p>\n<p>Glab currently supports interactions with the following GitLab features:<\/p>\n<ul>\n<li>Issues<\/li>\n<li>Merge Requests<\/li>\n<li>Pipelines<\/li>\n<li>Releases<\/li>\n<li>Repositories<\/li>\n<li>Labels<\/li>\n<li>Snippets<\/li>\n<\/ul>\n<p>You can retrieve existing data from your GitLab account, create new items, and perform actions such as checking a pipeline\u2019s status and approving a merge request. It\u2019s possible to authenticate to multiple GitLab instances simultaneously, including GitLab.com and your self-hosted servers.<\/p>\n<h2 id=\"getting-started-with-glab\">Getting Started With Glab<\/h2>\n<p>Before starting to use Glab, create a <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/profile\/personal_access_tokens.html\">personal access token<\/a> for your GitLab account that includes the <code>api<\/code> and <code>write_repository<\/code> scopes. Glab will use this token to perform actions on your behalf.<\/p>\n<p>Click your profile icon in the top-right of the GitLab UI, then choose \u201cAccess Tokens\u201d from the menu on the left. Give your token a name and select the <code>api<\/code> and <code>write_repository<\/code> scopes from the list. Scroll down the page and click the \u201cCreate personal access token\u201d button. The token\u2019s value will be displayed \u2013 note this down now, as you won\u2019t be able to retrieve it in the future.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-854124\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2022\/12\/Screenshot-2022-12-11-at-12-53-03-Personal-Access-Tokens-\u00b7-User-Settings-\u00b7-GitLab.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of creating a personal access token in GitLab\" width=\"1280\" height=\"648\"\/><\/p>\n<p>Next, you need to install Glab. You can download pre-built binaries for Windows, macOS, and Linux systems from the project\u2019s <a href=\"https:\/\/gitlab.com\/gitlab-org\/cli\/-\/releases\">GitLab Releases page<\/a>. Glab\u2019s also distributed for <a href=\"https:\/\/gitlab.com\/gitlab-org\/cli\">several popular package managers<\/a> across all supported operating systems.<\/p>\n<p>Once Glab\u2019s installed, you can authenticate to your GitLab instance by running the <code>auth login<\/code> command. This will start a series of interactive prompts that let you choose between GitLab.com or a self-hosted instance. After supplying the instance details, you\u2019ll be able to enter the personal access token you created earlier.<\/p>\n<p>Next you\u2019ll be asked to confirm the default protocol to use for Git operations. You can usually accept the value that\u2019s automatically selected. SSH is preferred but some environments may require Git over HTTPS. The following prompt asks you whether Glab should authenticate Git operations using the same personal access token you\u2019ve previously supplied. This is usually the desired behavior.<\/p>\n<p>Finally, if you\u2019re using a self-hosted GitLab instance, you\u2019ll be prompted to choose between the HTTP and HTTPS protocols for access to the GitLab API. Choose HTTPS unless you know your instance only supports HTTP.<\/p>\n<p>At the end of the sequence, you should receive a\u00a0 \u201cLogged in\u201d success message.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-854125\" data-pagespeed-lazy-src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2022\/12\/2022-12-11_13-00.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of logging into Glab\" width=\"900\" height=\"350\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<h3 id=\"logging-into-another-gitlab-instance\">Logging Into Another GitLab Instance<\/h3>\n<p>You can login to another GitLab instance by repeating the <code>auth login<\/code> command. Running <code>auth status<\/code> will emit a list of all the endpoints you\u2019ve configured.<\/p>\n<h2 id=\"using-glab\">Using Glab<\/h2>\n<p>Glab\u2019s intended to be run from your project\u2019s working directory. Begin by <code>cd<\/code>-ing into a directory that contains a Git repository. Glab commands will now automatically select the correct GitLab instance and authentication token, based on the project\u2019s default Git remote.<\/p>\n<p>This model permits seamless use of projects from multiple GitLab instances. You can run <code>git<\/code> and <code>glab<\/code> commands as you work, simply by entering a project directory. It\u2019s possible to use Glab outside a project, however, by setting the <code>GITLAB_TOKEN<\/code> and <code>GITLAB_URI<\/code> (or <code>GITLAB_HOST<\/code>) <a href=\"https:\/\/gitlab.com\/gitlab-org\/cli#environment-variables\">environment variables<\/a> in your shell, then specifying the <code>--repo<\/code> flag\u00a0 with your commands to identify the target project (in <code>OWNER\/REPO<\/code> format). This lets you conveniently use Glab within automated scripts, for example.<\/p>\n<h3 id=\"issues\">Issues<\/h3>\n<p>List issues in your project with the <code>issues list<\/code> command:<\/p>\n<pre>$ glab issues list&#13;\nShowing 3 open issues in ilmiont\/ardeidae that match your search (Page 1)&#13;\n&#13;\n#376  ilmiont\/ardeidae#376  Console Input allow accessing full standard input string    about 1 month ago  &#13;\n#374  ilmiont\/ardeidae#374  Basis support construction via compound typehints           about 11 months ago&#13;\n#373  ilmiont\/ardeidae#373  v3.1.0 unit tests                                           about 11 months ago<\/pre>\n<p>Use the <code>--page<\/code> flag to switch to subsequent pages in the result set. 20 items are displayed per page by default; this can be changed with the <code>--per-page<\/code> flag.<\/p>\n<p>Several filtering flags are supported. The following command fetches all closed issues with the P1 label, that are in the v3.1.0 milestone and assigned to you:<\/p>\n<pre>$ glab issue list --mine --milestone v3.1.0 --label P1 --closed<\/pre>\n<p>Run <code>glab issue list --help<\/code> to learn about all the supported flags.<\/p>\n<p>Get detailed information about a specific issue with <code>issue view<\/code>:<\/p>\n<pre>$ glab issues view 376&#13;\nopen \u2022 opened by ilmiont about 1 month ago&#13;\nConsole Input allow accessing full standard input string #376&#13;\n&#13;\n   php:\/\/input                                                                &#13;\n&#13;\n&#13;\n&#13;\n0 upvotes \u2022 0 downvotes \u2022 0 comments&#13;\nMilestone: v3.1.0<\/pre>\n<p>To fetch an issue\u2019s comments, add the <code>--comments<\/code> flag to the command. The comments will be paginated, like the <code>issue list<\/code> command.<\/p>\n<p>You can open the web UI page for an issue in your default browser:<\/p>\n<pre>$ glab issue view 376 --web<\/pre>\n<p>Notes (comments) can be created against issues with the <code>note<\/code> command. The <code>-m<\/code> flag specifies the Markdown text for the note:<\/p>\n<pre>$ glab issue note 376 -m \"This is no longer relevant\"<\/pre>\n<p>Close and reopen issues with the <code>close<\/code> and <code>reopen<\/code> commands respectively:<\/p>\n<pre>$ glab issue close 376&#13;\n$ glab issue reopen 376<\/pre>\n<p>To create a new issue, run the <code>create<\/code> command and pass appropriate flags:<\/p>\n<pre>$ glab issue create \\&#13;\n    --title \"New Issue\" \\&#13;\n    --description \"Demo issue\" \\&#13;\n    --milestone \"v3.1.0\"<\/pre>\n<p>You\u2019ll be prompted to confirm the issue\u2019s creation. You can skip this by setting the <code>-y<\/code> or <code>--yes<\/code> flag. Many more flags are supported to define all the properties of the issue. Try running <code>glab issue create --help<\/code> to explore the options.<\/p>\n<h3 id=\"merge-requests\">Merge Requests<\/h3>\n<p>Basic merge request interactions are similar to those for issues. Use the <code>list<\/code> and <code>view<\/code> commands to retrieve details of existing merge requests. The <code>approve<\/code>, <code>close<\/code>, and <code>merge<\/code> commands apply those respective actions to the MR:<\/p>\n<pre>$ glab mr merge 100<\/pre>\n<p>Merge request commands accept either an ID or a source branch as their argument. You can merge the MR for <code>demo-branch<\/code> into your main branch using the following command:<\/p>\n<pre>$ glab mr merge demo-branch<\/pre>\n<p>You can view the changes contained in an MR with the <code>diff<\/code> command:<\/p>\n<pre>$ glab mr diff 100<\/pre>\n<p>Colorized diff output will be displayed in your terminal in Git format.<\/p>\n<p>It\u2019s also possible to locally checkout and switch to a merge request\u2019s source branch, without manually running Git commands:<\/p>\n<pre>$ glab mr checkout 100<\/pre>\n<h3 id=\"ci-pipelines\">CI Pipelines<\/h3>\n<p>View pipeline results for your project by running <code>ci list<\/code>:<\/p>\n<pre>$ glab ci list&#13;\nShowing 3 pipelines on ilmiont\/ardeidae (Page 1)&#13;\n&#13;\n(success) \u2022 #734  3.1.0-rc42                                                     (about 9 days ago) &#13;\n(success) \u2022 #733  master                                                         (about 9 days ago) &#13;\n(success) \u2022 #732  Dbal-store-allow-upsert                                        (about 9 days ago)<\/pre>\n<p>The <code>view<\/code> command provides access to the job results for the latest pipeline on either the default or a specific branch. A new terminal screen will display the stages in the pipeline:<\/p>\n<pre>$ glab ci view&#13;\n$ glab ci view -b demo-branch<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-854123\" data-pagespeed-lazy-src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2022\/12\/2022-12-11_17-21.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of viewing a CI pipeline's status in Glab\" width=\"952\" height=\"253\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>To trigger a new pipeline run, execute the <code>glab run<\/code> command:<\/p>\n<pre>$ glab ci run<\/pre>\n<p>You can specify the branch to source the pipeline from:<\/p>\n<pre>$ glab ci run -b demo-branch<\/pre>\n<p>It\u2019s also possible to set <a href=\"https:\/\/www.howtogeek.com\/devops\/how-to-set-variables-in-your-gitlab-ci-pipelines\">CI variables<\/a> for the run:<\/p>\n<pre>$ glab ci run --variables demo-var:demo-val,another-var:another-val<\/pre>\n<p>You can access a job\u2019s logs by running the <code>ci trace<\/code> command and using the interactive prompt to select the target job. Artifacts are available too: the <code>ci artifact<\/code> command downloads the artifacts from the latest pipeline, for either the default branch or a specified one identified by the <code>-b<\/code> flag.<\/p>\n<p>Finally, Glab includes a built-in linter for the <code>.gitlab-ci.yml<\/code> file in your working directory. This allows you to conveniently check your pipeline\u2019s validity, without copying and pasting the file into the GitLab web UI.<\/p>\n<pre>$ glab ci lint&#13;\nGetting contents in .gitlab-ci.yml&#13;\nValidating...&#13;\n\u2713 CI yml is Valid!<\/pre>\n<h3 id=\"arbitrary-api-requests\">Arbitrary API Requests<\/h3>\n<p>Glab\u2019s commands are wrappers around existing <a href=\"https:\/\/docs.gitlab.com\/ee\/api\">GitLab API<\/a> endpoints. While several APIs are natively supported, many more are yet to be implemented as commands. Calling the API directly can be tedious because you need to supply your personal access token by manually setting request headers.<\/p>\n<p>Glab includes a utility command for making arbitrary authenticated requests against the API. The <code>glab api<\/code> command accepts a relative URI to request in the context of your active GitLab instance. The following example gets the Git tags associated with the project with the ID of <code>1<\/code>:<\/p>\n<pre>$ glab api projects\/1\/repository\/tags<\/pre>\n<p>The raw API response data will be emitted to your terminal in JSON format.<\/p>\n<p>Set the HTTP method for the request using the <code>-X<\/code> or <code>--method<\/code> flag. You can supply request body data with the <code>-F<\/code> or <code>--field<\/code> flag:<\/p>\n<pre>$ glab api projects\/1\/repository\/tags -X POST --field tag_name=demo --field ref=main<\/pre>\n<p>You can include custom request headers by setting the <code>-H<\/code> or <code>--header<\/code> flag.<\/p>\n<h3 id=\"using-aliases\">Using Aliases<\/h3>\n<p>Glab supports custom command aliases so you can quickly access commonly used functionality.<\/p>\n<p>Create a new alias by running the <code>alias set<\/code> command:<\/p>\n<pre>$ glab alias set issues \"issue list\"&#13;\n- Adding alias for issues: issue list&#13;\n\u2713 Added alias.<\/pre>\n<p>Now you can list the issues in your project by running <code>glab issues<\/code>:<\/p>\n<pre>$ glab issues&#13;\nShowing 3 open issues in ilmiont\/ardeidae that match your search (Page 1)&#13;\n&#13;\n#376  ilmiont\/ardeidae#376  Console Input allow accessing full standard input string    about 1 month ago  &#13;\n#374  ilmiont\/ardeidae#374  Basis support construction via compound typehints           about 11 months ago&#13;\n#373  ilmiont\/ardeidae#373  v3.1.0 unit tests                                           about 11 months ago<\/pre>\n<p>List all the aliases you\u2019ve created with <code>alias list<\/code>:<\/p>\n<pre>$ glab alias list&#13;\nci      pipeline ci&#13;\nco      mr checkout&#13;\nissues  issue list<\/pre>\n<p>Delete an alias by running <code>alias delete<\/code> and passing its name:<\/p>\n<pre>$ glab alias delete issues<\/pre>\n<h2 id=\"using-glab-to-manage-devops\">Using Glab to Manage DevOps<\/h2>\n<p>Glab is the official GitLab CLI.\u00a0 It lets you manage the entire DevOps process from your terminal. You can create issues, assign tasks, review merge requests, trigger CI pipelines, and tag releases, without having to switch between tools or learn the GitLab API. This reduces context switching and facilitates automation of your most common workflows.<\/p>\n<p>Having access to GitLab data alongside your code and Git operations keeps you focused on the task at hand. The CLI is also quicker to use than the web UI, if you\u2019re comfortable with working in a terminal. It\u2019s a valuable third interface for your GitLab instance, in addition to the UI and API.<\/p>\n<p>While this article has covered the basics of using Glab for common tasks, there\u2019s much more you can explore too. Check out <a href=\"https:\/\/gitlab.com\/gitlab-org\/cli\">the documentation<\/a> or try running <code>glab help<\/code> and <code>glab &lt;COMMAND&gt; --help<\/code> to explore all the available capabilities.<\/p>\n<p>Now that Glab is <a href=\"https:\/\/about.gitlab.com\/blog\/2022\/12\/07\/introducing-the-gitlab-cli\">fully incorporated<\/a> as a native GitLab project, further development is promised to support additional workflows and implement community requests. You can provide your feedback to GitLab by opening an issue in <a href=\"https:\/\/gitlab.com\/gitlab-org\/cli\">the project\u2019s repository<\/a>.<\/p>\n<\/div>\n<iframe data-lazy=\"true\" data-src=\"https:\/\/www.fiverr.com\/gig_widgets?id=U2FsdGVkX18x7XQvttUTrv1oEqmGNGTgvvCUiUoJ\/AP4z\/UyMz8lXGOLpu15jIMxBbTR0gmD5uBoFvhC4KWeALQRp3h\/X\/AwcVD0K8Wj9H\/ZzYKzcCNHosB9oS4SCJJFWiN85P9ICAc4OgCoE\/wHKIY7CDkf2\/DQ1vqGvk4smVe5cRDEmrLPCWi4FC8p40VUhSmWQ5udCm0zoJtorgWv3vbDQw0kKYkwn39ozAnQXDe+YvWMxkLFWA+O3TFwkJvdkIK+\/AUSnRssPKt5WHY0FhNOxnSPcLslEL4G4\/RfP95ve99U+kRnDy3X+KtzdQLY+u935ghON\/o3UE4IMv9oN6JX9RnxzL\/LRcOgnHigxStSGPKsZYtnz8RWNVT\/rOLAibqiWJadC5MYHRbekF3eg6FOGrQGkXYbsn0+a5aovnlLCbLwIqY9fcS17UX8J235iQ6cdmHNbrPeS84CMm34RA==&affiliate_id=1052423&strip_google_tagmanager=true\" loading=\"lazy\" data-with-title=\"true\" class=\"fiverr_nga_frame\" frameborder=\"0\" height=\"350\" width=\"100%\" referrerpolicy=\"no-referrer-when-downgrade\" data-mode=\"random_gigs\" onload=\" var frame = this; var script = document.createElement('script'); script.addEventListener('load', function() { window.FW_SDK.register(frame); }); script.setAttribute('src', 'https:\/\/www.fiverr.com\/gig_widgets\/sdk'); document.body.appendChild(script); \" ><\/iframe>\n<br \/><a href=\"https:\/\/www.howtogeek.com\/devops\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitLab is one of the leading source control and CI\/CD solutions for modern software delivery teams. It provides a comprehensive set of features for planning,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":24627,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-24626","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-universe"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal - mailinvest.blog<\/title>\n<meta name=\"description\" content=\"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what&#039;s new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal - mailinvest.blog\" \/>\n<meta property=\"og:description\" content=\"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what&#039;s new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/\" \/>\n<meta property=\"og:site_name\" content=\"mailinvest.blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/freelanceracademic\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-20T03:05:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/12\/GitLab-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1439\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin@mailinvest.blog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin@mailinvest.blog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/\"},\"author\":{\"name\":\"admin@mailinvest.blog\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#\\\/schema\\\/person\\\/012701c4c204d4e4ebd34f926cfd31a4\"},\"headline\":\"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal\",\"datePublished\":\"2022-12-20T03:05:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/\"},\"wordCount\":1492,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/GitLab-scaled.jpg\",\"articleSection\":[\"Tech Universe\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/\",\"name\":\"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal - mailinvest.blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/GitLab-scaled.jpg\",\"datePublished\":\"2022-12-20T03:05:38+00:00\",\"description\":\"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what's new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/GitLab-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/GitLab-scaled.jpg\",\"width\":2560,\"height\":1439},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2022\\\/12\\\/20\\\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mailinvest.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#website\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/\",\"name\":\"mailinvest.blog\",\"description\":\"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis. mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what&#039;s new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.\",\"publisher\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mailinvest.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#organization\",\"name\":\"mailinvest\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/default.png\",\"contentUrl\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/default.png\",\"width\":1000,\"height\":1000,\"caption\":\"mailinvest\"},\"image\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/freelanceracademic\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#\\\/schema\\\/person\\\/012701c4c204d4e4ebd34f926cfd31a4\",\"name\":\"admin@mailinvest.blog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g\",\"caption\":\"admin@mailinvest.blog\"},\"sameAs\":[\"https:\\\/\\\/mailinvest.blog\",\"admin@mailinvest.blog\"],\"url\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/author\\\/adminmailinvest-blog\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal - mailinvest.blog","description":"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what's new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/","og_locale":"en_US","og_type":"article","og_title":"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal - mailinvest.blog","og_description":"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what's new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.","og_url":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/","og_site_name":"mailinvest.blog","article_publisher":"https:\/\/www.facebook.com\/freelanceracademic\/","article_published_time":"2022-12-20T03:05:38+00:00","og_image":[{"width":2560,"height":1439,"url":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/12\/GitLab-scaled.jpg","type":"image\/jpeg"}],"author":"admin@mailinvest.blog","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin@mailinvest.blog","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/#article","isPartOf":{"@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/"},"author":{"name":"admin@mailinvest.blog","@id":"https:\/\/mailinvest.blog\/#\/schema\/person\/012701c4c204d4e4ebd34f926cfd31a4"},"headline":"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal","datePublished":"2022-12-20T03:05:38+00:00","mainEntityOfPage":{"@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/"},"wordCount":1492,"commentCount":0,"publisher":{"@id":"https:\/\/mailinvest.blog\/#organization"},"image":{"@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/#primaryimage"},"thumbnailUrl":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/12\/GitLab-scaled.jpg","articleSection":["Tech Universe"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/","url":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/","name":"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal - mailinvest.blog","isPartOf":{"@id":"https:\/\/mailinvest.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/#primaryimage"},"image":{"@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/#primaryimage"},"thumbnailUrl":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/12\/GitLab-scaled.jpg","datePublished":"2022-12-20T03:05:38+00:00","description":"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what's new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.","breadcrumb":{"@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/#primaryimage","url":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/12\/GitLab-scaled.jpg","contentUrl":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/12\/GitLab-scaled.jpg","width":2560,"height":1439},{"@type":"BreadcrumbList","@id":"https:\/\/mailinvest.blog\/index.php\/2022\/12\/20\/how-to-get-started-with-gitlabs-cli-to-manage-devops-from-your-terminal\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mailinvest.blog\/"},{"@type":"ListItem","position":2,"name":"How to Get Started With GitLab\u2019s CLI to Manage DevOps From Your Terminal"}]},{"@type":"WebSite","@id":"https:\/\/mailinvest.blog\/#website","url":"https:\/\/mailinvest.blog\/","name":"mailinvest.blog","description":"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis. mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what&#039;s new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.","publisher":{"@id":"https:\/\/mailinvest.blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mailinvest.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/mailinvest.blog\/#organization","name":"mailinvest","url":"https:\/\/mailinvest.blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mailinvest.blog\/#\/schema\/logo\/image\/","url":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/01\/default.png","contentUrl":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/01\/default.png","width":1000,"height":1000,"caption":"mailinvest"},"image":{"@id":"https:\/\/mailinvest.blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/freelanceracademic\/"]},{"@type":"Person","@id":"https:\/\/mailinvest.blog\/#\/schema\/person\/012701c4c204d4e4ebd34f926cfd31a4","name":"admin@mailinvest.blog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g","caption":"admin@mailinvest.blog"},"sameAs":["https:\/\/mailinvest.blog","admin@mailinvest.blog"],"url":"https:\/\/mailinvest.blog\/index.php\/author\/adminmailinvest-blog\/"}]}},"_links":{"self":[{"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/posts\/24626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/comments?post=24626"}],"version-history":[{"count":0,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/posts\/24626\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/media\/24627"}],"wp:attachment":[{"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/media?parent=24626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/categories?post=24626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/tags?post=24626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}