{"id":31172,"date":"2022-09-07T05:51:29","date_gmt":"2022-09-07T05:51:29","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=31172"},"modified":"2022-12-23T05:47:30","modified_gmt":"2022-12-23T05:47:30","slug":"gitlab-tutorials-how-to-setup-and-run-gitlab-runner-in-a-linux","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/gitlab-tutorials-how-to-setup-and-run-gitlab-runner-in-a-linux\/","title":{"rendered":"GitLab Tutorials: How to setup and run GitLab Runner in a Linux?"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"736\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-15-1024x736.png\" alt=\"\" class=\"wp-image-31173\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-15-1024x736.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-15-300x216.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-15-768x552.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-15.png 1198w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Download and install binary<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Download the binary for your system<\/span>\r\nsudo curl -L --output \/usr\/local\/bin\/gitlab-runner https:<span class=\"hljs-comment\">\/\/gitlab-runner-downloads.s3.amazonaws.com\/latest\/binaries\/gitlab-runner-linux-amd64<\/span>\r\n\r\n<span class=\"hljs-comment\"># Give it permission to execute<\/span>\r\nsudo chmod +x \/usr\/local\/bin\/gitlab-runner\r\n\r\n<span class=\"hljs-comment\"># Create a GitLab Runner user<\/span>\r\nsudo useradd --comment <span class=\"hljs-string\">'GitLab Runner'<\/span> --create-home gitlab-runner --shell \/bin\/bash\r\n\r\n<span class=\"hljs-comment\"># Install and run as a service<\/span>\r\nsudo gitlab-runner install --user=gitlab-runner --working-directory=\/home\/gitlab-runner\r\nsudo gitlab-runner start\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Command to register runner<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">sudo gitlab-runner register --url https:<span class=\"hljs-comment\">\/\/gitlab.com\/ --registration-token $REGISTRATION_TOKEN<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-16-1024x451.png\" alt=\"\" class=\"wp-image-31174\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-16-1024x451.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-16-300x132.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-16-768x338.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-16-1536x676.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-16.png 1786w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"340\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-17-1024x340.png\" alt=\"\" class=\"wp-image-31175\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-17-1024x340.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-17-300x100.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-17-768x255.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-17-1536x510.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-17.png 1789w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"590\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-21-1024x590.png\" alt=\"\" class=\"wp-image-31184\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-21-1024x590.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-21-300x173.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-21-768x442.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/09\/image-21.png 1210w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Example of <em>.gitlab-ci.yml<\/em><\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">before_script:\n  - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"Before script section\"<\/span>\n  - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"For example you might run an update here or install a build dependency\"<\/span>\n  - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"Or perhaps you might print out some debugging details\"<\/span>\n\nafter_script:\n  - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"After script section\"<\/span>\n  - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"For example you might do some cleanup here\"<\/span>\n\nbuild1:\n  stage: build\n  script:\n    - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"Do your build here\"<\/span>\n\ntest1:\n  stage: test\n  script:\n    - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"Do a test here\"<\/span>\n    - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"For example run a test suite\"<\/span>\n\ntest2:\n  stage: test\n  script:\n    - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"Do another parallel test here\"<\/span>\n    - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"For example run a lint test\"<\/span>\n\ndeploy1:\n  stage: deploy\n  script:\n    - <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"Do your deploy here\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>","protected":false},"excerpt":{"rendered":"<p>Download and install binary Command to register runner Example of .gitlab-ci.yml<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-31172","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/31172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=31172"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/31172\/revisions"}],"predecessor-version":[{"id":31185,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/31172\/revisions\/31185"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=31172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=31172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=31172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}