برای فعال کردن امکان Auto DevOps در گیت لب ، نیاز به یک اینستنس کوبرنتیز فعال دارید. برای شروع میتوانید کوبرنتیز را به صورت single instance اجرا کنید و یا از رنچر یا okd استفاده کنید. بعد از برپا ساختن سیستم ، با قدم به قدم اجرا کردن مراحل زیر میتوانید گیت لب رو به اینستنس خودتون متصل کنید.
ابتدا باید یک اکانت از نوع serviceaccount بسازید:
kubectl create serviceaccount gitlab
و دسترسی cluster-admin را به آن بدهید :
kubectl create clusterrolebinding gitlab-cluster-admin --clusterrole=cluster-admin --serviceaccount=default:gitlab
حال وارد گیت-لب یا سلف-هاستد خودتان شوید،وارد ریپازیتوری شوید و از منوی operations گزینه kubernetes را انتخاب کنید:
و سپس روی گزینه Add kubernetes Cluster کلیک کرده و وارد تب Add existing cluster شوید:
در ادامه به معرفی قسمت های مختلف می پردازیم :
kubernets cluser name :
نام کلاستر کوبرنتیز شما (این فقط یک نام به انتخاب شماست)
API URL :
آدرس رابط برنامه نویسی یا api کوبرنتیز ، اگر این آدرس را نمیدانید از طریق کامند زیر میتوانید پیدا کنید :
echo $(kubectl config view | grep server | cut -f 2- -d ":" | tr -d " ")
CA Certificate :
گواهی نامه تایید شده در کوبرنتیز ، اگر نمیدانید ابتدا توسط دستور زیر لیست سکرت ها را دربیاورید :
kubectl get secrets
سپس توسط دستور زیر سکرت دیفالت (default-xxx) را پس از دیکود کردن ببینید:
kubectl get secret <secret name> -o jsonpath="{['data']['ca\.crt']}" | base64 --decode
خروجی رو مستقیما به این بخش کپی کنید.
Service Token :
توکن مربوط به سرویس اکانتی که ساختیم رو توسط دستور زیر میتوانید ببینید :
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab | awk '{print $1}')
فقط بخش token رو از خروجی جدا و در این قسمت قرار دهید.
RBAC-enabled cluster :
لطفا این گزینه را فعال کنید.
GitLab-managed cluster :
اگر میخواهید گیت لب مدیریت کلاستر شما رو داشته باشد، این گزینه را نیز فعال کنید.
Project namespace prefix :
پرفیکس namespace پروژه شما ، باید یونیک باشد. ( این بخش اجباری نیست )
پس از وارد کردن مقادیر فوق ، بر روی Add kubernetes Cluster کلیک کنید. پس از دقایقی اتصال انجام شده و gitlab-managed-apps به نیم اسپیس شما اضافه میشود.
همچنین شما میتوانید با نصب کردن Helm Tiller از همین صفحه امکانات بیشتری را نیز فعال کنید:
از این به بعد Auto Devops در گیت لب برای این ریپوی شما فعال خواهد بود.