ntegrate-GitLab

Merge Request در GitLab

ادغام تاییدیه‌های Merge Request با GitLab در سیستم‌های خارجی

این آموزش به شما نشان می‌دهد که چگونه می‌توانید قابلیت‌های GitLab را گسترش داده و آن را با برنامه‌های خارجی بهتر ادغام کنید. این کار به شما امکان می‌دهد تا GitLab را به نیازهای خاص پروژه خود تطبیق دهید و بهره‌وری و همکاری تیم را افزایش دهید.یکپارچگی یکپارچه‌ای که کنترل بیشتری بر درخواست‌های ادغام ارائه می‌دهد.

بسیاری از افرادی که از GitLab استفاده می‌کنند، علاقه‌مند هستند بدانند که چگونه می‌توانند درخواست‌های ادغام در GitLab را با برنامه‌های دیگر (مانند سیستم‌های مدیریت پروژه، سیستم‌های مدیریت پیکربندی و …) مرتبط کنند.مانند ServiceNow یا برنامه‌های سفارشی‌سازی شده متصل کنند تا تاییدیه‌های ادغام کد در یک شاخه هدف را از این سیستم‌های خارجی کنترل کنند.GitLab یک ویژگی جدید به نام بررسی وضعیت خارجی را ارائه داده است که به شما اجازه می‌دهد تا با استفاده از فراخوانی‌های API، وضعیت یک الزام خارجی را از سیستم‌های دیگر دریافت کنید و این اطلاعات را در فرآیند تایید درخواست‌های ادغام در GitLab استفاده کنید.

در این مقاله، این ویژگی را با توضیح نحوه استقرار یک برنامه‌ای که توسعه دادم، نشان خواهم داد.برنامه‌ای طراحی شده است برای دریافت درخواست‌های بررسی وضعیت از درخواست‌های ادغام GitLab، آن‌ها را فهرست کند و امکان دهد به کاربران خارجی برای تایید یا رد این درخواست‌ها بدون ورود به کنسول GitLab. با استفاده از ابزارها و روش‌هایی که در این مقاله معرفی شده است، معماران پلتفرم GitLab می‌توانند درک عمیق‌تری از قابلیت‌های GitLab در زمینه گسترش و ادغام با سیستم‌های خارجی کسب کنند.

برنامه عملی ارائه شده می‌تواند:

چگونه برنامه نمایشی بررسی وضعیت را استقرار دهیم؟

  1. ایجاد یک پروژه جدید در GitLab: در حساب کاربری خود، یک پروژه جدید با نامی مشابه یا متفاوت ایجاد کنید.
  2. project pipeline، برنامه را در یک خوشه Kubernetes استقرار خواهد داد. برای دستیابی به این هدف، در یک پروژه جداگانه، یک عامل GitLab برای Kubernetes تعریف کنید و در بخش “user_access” در پیکربندی عامل، مسیری به پروژه کپی شده قرار دهید.
  3. یک متغیر محیطی جدید به نام KUBE_CONTEXT اضافه کنید. مقدار این متغیر باید برابر با مسیر عامل استفاده شده باشد، که به صورت ساختار زیر است: path/to/agent/project:agent-name.
  4. برنامه بررسی وضعیت به طور پیش‌فرض در فضای نام approval-app استقرار خواهد یافت.
  5. فضای نام approval-app را در خوشه Kubernetes مدنظر ایجاد کنید.
  6. در فضای نام ایجاد شده، یک راز (یک شیء که برای ذخیره اطلاعات حساس مانند رمزهای عبور، توکن‌های دسترسی و سایر داده‌های محرمانه استفاده می‌شود) به نام gitlab-token اضافه کنید. مقدار این راز را برابر با توکن دسترسی شخصی کاربری که درخواست‌ها را تایید خواهد کرد، تنظیم کنید. برنامه تایید از این توکن دسترسی شخصی برای ارتباط مجدد با نمونه GitLab استفاده خواهد کرد.
  7. آغاز فرآیند خودکار است که برای بررسی وضعیت برنامه شما طراحی شده است و این فرآیند روی آخرین نسخه پایدار کد شما (شاخه اصلی) اجرا خواهد شد.
  8. پس از استقرار، برنامه پشت یک بارگذار تعادل قرار خواهد گرفت. برای گرفتن آدرس IP عمومی بارگذار تعادل، از دستور kubectl get services -n approval-app استفاده کنید.
  9. برنامه را می‌توان با استفاده از این URL دسترسی پیدا کرد: http://EXTERNAL-IP/approval-apps/. در این آدرس، EXTERNAL-IP را با مقدار آدرس IP خارجی که در مرحله قبلی به دست آوردید، جایگزین کنید. صفحه نتیجه باید شبیه تصویر زیر باشد (جدول خالی خواهد بود زیرا هنوز هیچ درخواست ادغام جدیدی اضافه نکرده‌ایم).
Merge Request در GitLab

پیکربندی بررسی وضعیت (Status Check) در GitLab

  1. در پروژه GitLab که نیاز به پیکربندی بررسی وضعیت خارجی دارد، از منوی سمت چپ، به زیر تنظیمات > درخواست ادغام بروید و به پایین اسکرول کنید تا به بخش بررسی‌های وضعیت برسید.
  2. کلیک کردن روی دکمه “افزودن بررسی وضعیت”
  3. افزودن نام سرویس
  4. برای بررسی API، آدرس زیر را وارد کنید: http://EXTERNAL-IP/approval-apps/status_check. در این آدرس، EXTERNAL-IP را با آدرس IP خارجی که در مراحل قبلی به دست آوردید، جایگزین کنید.
  5. شاخه هدف را به حالت پیش‌فرض بگذارید یا اگر می‌خواهید این بررسی فقط برای درخواست‌های ادغام علیه شاخه‌های خاصی فعال شود، شاخه را انتخاب کنید.
  6. کلید مشترک HMAC را تغییر ندهید و به همان صورت باقی بگذارید. سپس با کلیک روی دکمه “افزودن بررسی وضعیت”، یک بررسی وضعیت جدید با استفاده از این کلید امنیتی ایجاد می‌شود.

 

Merge Request در GitLab

همه چیز را با هم آزمایش کنید.

در پروژه ای که در آن بررسی خارجی را پیکربندی کرده اید، یک درخواست ادغام جدید ایجاد کنید. این درخواست ادغام باید از هر شاخه ای به شاخه اصلی هدف بگیرد (فرض کنید شاخه اصلی هنگام پیکربندی بررسی خارجی در بخش قبلی انتخاب شده بود). پس از ایجاد درخواست ادغام در GitLab، به صفحه جزئیات درخواست ادغام بروید. در این صفحه، بخشی به نام “بررسی وضعیت” وجود دارد. در این بخش، باید ببینید که یک بررسی وضعیت در حال انجام است و وضعیت آن “در انتظار” (Pending) نشان داده می‌شود.

اکنون، در یک تب جدید، برنامه بررسی وضعیت استقرار یافته را با استفاده از این URL باز کنید: http://EXTERNAL-IP/approval-apps/. در این آدرس، EXTERNAL-IP را با مقدار آدرس IP خارجی که در مراحل قبلی به دست آوردید، جایگزین کنید.

در لیست بررسی وضعیت خارجی، یک ورودی جدید برای درخواست ادغام تازه ایجاد شده باید نمایش داده شود. روی دکمه “تایید” کلیک کنید.

پس از تایید بررسی وضعیت خارجی، به صفحه جزئیات درخواست ادغام خود بازگردید. در این صفحه، باید ببینید که وضعیت درخواست ادغام از “در انتظار” به “تایید شده” تغییر کرده است.

 

نکات عیب یابی

از نکات زیر برای عیب‌یابی استفاده کنید اگر چیزی طبق برنامه پیش نرفت.

همیشه خوب است که لاگ‌های برنامه بررسی وضعیت خارجی را مشاهده کنید.

1- با استفاده از دستور زیر ، نام پاد برنامه را استخراج کنید.

				
					kubectl get pods -n approval-app
				
			

2- دستور kubectl logs یک ابزار قدرتمند برای مدیریت و عیب‌یابی پادها در Kubernetes است. با استفاده از این دستور، می‌توانید به راحتی لاگ‌های پادهای خود را مشاهده کرده و مشکلات را شناسایی کنید.این دستور به شما اجازه می‌دهد تا به خروجی و پیام‌های خطایی که توسط یک پاد خاص تولید شده است، دسترسی پیدا کنید. این اطلاعات بسیار مفید است برای عیب‌یابی، بررسی وضعیت و پیگیری فعالیت‌های یک پاد.

می‌توانید از طریق SSH به پاد برنامه وارد شوید و پایگاه داده AlchemyDB را که برای برنامه استفاده می‌شود، مشاهده کنید

				
					kubectl exec -it \[POD-NAME\] -n approval-app -- /bin/sh

cd instance

sqlite3 gitlab_status_checks.db
				
			

برای مشاهده جداول پایگاه داده، عبارت .tables را تایپ کنید.

ترجمه و توضیح کامل دستور زیر را تایپ کنید

				
					PRAGMA table_info('status_check')
				
			

برای مشاهده تمام سوابق در جدول status_check، عبارت زیر  را تایپ کنید.

				
					select * from status_check
				
			

وبلاگ مستر لایسنس

در صورتی که این مقاله کسب پیروزی های سریع در فناوری اطلاعات پزشکی با DICOM و HL7 برای شما مفید و آموزنده بود، پیشنهاد می‌شود برای اطلاع از سایر مقالات مستر لایسنس به صفحه وبلاگ مستر لایسنس مراجعه نمایید.

small_c_popup.png

استعلام قیمت

لطفا درخواست لایسنس مورد نیاز خود را با تکمیل فرم انجام دهید.

small_c_popup.png

مشاوره تخصصی

برای شروع امروز با یک متخصص صحبت کنید!