در صورتی که از GitLab برای کنترل نسخه استفاده می کنید و قصد دارید که CI/CD را برای پروژه های خودتان راه اندازی کنید، یکی از راه حل ها استفاده از امکانی هست که GitLab فراهم کرده است. برای این کار GitLab، یک رانر را در اختیار ما قرار داده است و فقط نیاز است آن را نصب کنیم و سپس تنظیم های لازم را انجام دهیم.
برای به دست آوردن دانش مناسب در مورد CI/CD، پیشنهاد می کنم به فن واژه های زیر مراجعه کنید:
در این مقاله ی کوتاه می خواهیم به شما نشان دهیم چطور می توانید GitLab Runner را نصب کنید. GitLab برای توزیع های مختلف لینوکس، پکیج های مناسب همان توزیع را در اختیار ما قرار داده است. در کل یادتان باشد که بهترین راه، استفاده از منبع و مستند اصلی هست که من لینک آن را هم معرفی می کنم. شما می توانید با استفاد از این لینک، رانر مناسب سیستم عامل خودتان را نصب کنید.
ما gitlab runner را روی سرور دبیان نسخه ی 10 نصب می کنیم. شما بر اساس سیستم عامل خودتان، می توانید دستور های لازم را اعمال کنید.
ابتدا با استفاده از putty به سروری که می خواهیم رانر را روی آن نصب کنیم، وصل می شویم (شما می توانید با ترمینال phpstorm و یا هر روش دیگری که آشنا هستید، به سرورتان وصل شوید.).
1- ریپازیتوری gitlab را اضافه می کنیم:
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
اگر با دسترسی root هستید، دیگر نیاز نیست از sudo استفاده کنید.
2- آخرین نسخه ی gitlab runner را نصب می کنیم:
sudo apt-get install gitlab-runner
ما با دسترسی root هستیم، پس عبارت sudo را وارد نکردیم.
اگر انتهای انجام این دستور با خطا مواجه شدید، به احتمال زیاد، نیاز است تا دبیان را آپگرید کنید. دستور upgrade را وارد کنید. به این نکته توجه داشته باشید که برای این کار نیاز است روی سرور پروکسی داشته باشید.
برای این که مطمئن شوید نصب به درستی انجام شده است، دسترو زیر را وارد کنید:
gitlab-runner --v
تا خروجی ای مشابه زیر را ببینید:
3- رجیستر کردن رانر در گیت لب:
وقتی کار نصب به درستی انجام شد، نوبت آن است که رانر خومان را در gitlab، رجیستر کنیم یا رانر را به گیت لب وصل کنیم. وارد پروژه ی خود در گیت لب می شویم:
از منوی سمت چپ، روی گزینه Settings کلیک می کنیم تا زیر منوی آن را ببینیم.
گزینه ی CI/CD را انتخاب می کنیم. همان طور که مشاهده می کنید، به بخش تنظیمات CI/CD وارد می شویم و گزینه ی Runner را خواهیم دید.
با انتخاب گزینه ی رانر، آن بخش به صورت کشویی باز می شود و می توانیم تنظیمات آن بخش را مشاهده کنیم.
روی Project Runners کلیک کرده تا بتوانید رانر جدیدی ایجاد کنید. در صفحه ی New runner، اطلاعاتی که نیاز است را پر نمایید و Create runner را بزنید. این اطلاعات شامل توضیحاتی برای رانر، تعدادی تگ که با ویرگول از هم جدا می شوند و موارد دیگر هستند. برای هر کدام توضیح مناسبی در همین صفحه نوشته شده است و موارد اختیاری را می توانید پر نکنید.
با ایجاد رانر، به صفحه ای منتقل خواهیم شد که ادامه ی کار را راهنمایی می کند. مطابق راهنمایی، کارهای لازم را انجام می دهیم:
همان طور که مشاهده می کنید، سه مرحله تا پایان کار مانده است. ابتدا باید دستوری را که برایمان آماده کرده است اجرا کنیم. پس باید به ترمینال برویم و دستور رجیستر را اجرا کنیم. با وارد کردن این دستور (در راهنمای بالا این دستور نوشته شده است)، تعدادی سوال از ما پرسیده می شود که نیاز است در مورد آن ها بدانیم و به درستی وارد کنیم. در کامند زیر، آدرس url و توکن که با * مشخص شده، باید همان چیزی باشد که گیت لب در کامندتان مشخص کرده است.
gitlab-runner register --url http://*.*.*.* --token *************************
از ما در مورد آدرس، توکن و نام و تگ سوال پرسیده می شود. از آن جایی که در کامند بالا، هم آدرس و هم توکن را وارد کرده ایم، مقدار های پیش فرض را نشان می دهد و می توانیم با زدن کلید اینتر، از آن ها بگذریم. نام دلخواه برای رانر انتخاب می کنیم. در بخش executor که اجرا کننده را مشخص می کند، مقدار shell را وارد کنید.
حال روی Go to runners page کلیک کنید تا به صفحه ی رانر برگردیم. مطابق تصویر زیر خواهیم دید که رانر به گیت متصل شده است:
در انتها وارد ریپازیتوری پروژه شده و یک فایل جدید به نام .gitlab-ci.yml ایجاد کنید و template آن را bash قرار دهید:
زمانی که این فایل را push کنید، گیت لب با استفاده از رانری که به آن متصل کرده ایم، پروژه را build می کند. اگر در منوی سمت چپ بر روی گزینه build کلیک کنید، می توانید job ها و pipelines را مشاهده کنید و لاگ رانر را ببینید. در صورتی که به درستی build انجام شود، در صفحه ی لاگ، حتما عبارت passed را مشاهده خواهید کرد.
در مورد نحوه ی نوشتن محتوای فایل .gitlab-ci-yml در مقاله ی دیگری صحبت خواهیم کرد. در این مقاله فقط قصد داشتیم که شما را برای نصب گیت لب رانر، همراهی کنیم. امیدوارم این مقاله برایتان کاربردی و مفید باشد.