در ماههای اخیر، بهدلیل محدودیتهایی که پلتفرم GitLab.com برای آیپیهای ایرانی اعمال کرده، بسیاری از توسعهدهندگان و شرکتها با مشکلاتی در دسترسی به مخازن خود مواجه شدهاند. یکی از راهکارهای قطعی برای ادامهی کار بدون محدودیت، انتقال پروژه ها از GitLab.com به یک سرور gitlab (گیت لب) اختصاصی است. اگر پیشتر تجربهی انتقال پروژه گیت هاب به سرور گیت لب را داشته باشید، روند کار برایتان آشنا خواهد بود؛ چرا که مراحل کلی در هر دو روش مشابه هستند. در این آموزش، قصد داریم مراحل انجام این انتقال را گامبهگام توضیح دهیم تا بتوانید بدون دردسر تمام مخازن خود را از GitLab.com به سرور خود منتقل کنید.
مرحله 1: ورود به حساب GitLab.com و تنظیم دسترسیها
ابتدا وارد حساب کاربری خود در سایت GitLab.com شوید. سپس از قسمت بالای صفحه روی آیکون پروفایل کلیک کرده و گزینه Edit Profile را انتخاب کنید.
مرحله 2: ایجاد Application جدید برای ارتباط بین دو گیتلب
از منوی سمت چپ وارد بخش Applications شوید و روی گزینه Add new application کلیک کنید.
در فیلد Name یک نام دلخواه بنویسید و در بخش Redirect URL آدرسهای زیر را وارد نمایید:
http://your-gitlab.example.com/import/gitlab/callback
http://your-gitlab.example.com/users/auth/gitlab/callback
نکته: در این دو آدرس باید بهجای your-gitlab.example.com
، آدرس IP یا دامنه سرور اختصاصی GitLab خود را وارد کنید.
در انتها، گزینههای مربوط به سطح دسترسی (Scope) مورد نیاز را انتخاب کرده و سپس روی Save application کلیک کنید.
مرحله 3: دریافت کدهای Application ID و Secret
پس از ذخیره، GitLab.com دو کد با نامهای Application ID و Secret در اختیار شما قرار میدهد. در مراحل بعدی به این کد ها نیاز خواهید داشت.
مرحله 4: ویرایش تنظیمات سرور گیتلب اختصاصی
در این گام باید وارد سرور گیتلب خود شوید و پیکربندی لازم را در فایل تنظیمات انجام دهید.
با استفاده از SSH به سرور متصل شوید و دستور زیر را اجرا کنید:
nano /etc/gitlab/gitlab.rb
به انتهای فایل رفته و خطوط زیر را اضافه کرده و سپس آن را ذخیره نمایید:
gitlab_rails['omniauth_block_auto_created_users'] = true
gitlab_rails['omniauth_allow_single_sign_on'] = ['gitlab']
gitlab_rails['omniauth_auto_link_ldap_user'] = true
gitlab_rails['omniauth_providers'] = [
{
"name" => "gitlab",
"app_id" => "YOUR_APP_ID",
"app_secret" => "YOUR_APP_SECRET",
"args" => { "scope" => "api" }
}
]
توجه: مقدارهای YOUR_APP_ID
و YOUR_APP_SECRET
را باید با همان کدهایی که در مرحله قبل از GitLab.com دریافت کردید جایگزین کنید.
پس از ذخیرهی تغییرات، برای اعمال پیکربندی جدید باید سرویس GitLab را بازپیکربندی و راهاندازی مجدد کنید. برای این کار از دو دستور زیر استفاده کنید:
gitlab-ctl reconfigure
gitlab-ctl restart
مرحله 5: ورود به سرور گیتلب اختصاصی
اکنون وارد صفحهی لاگین سرور اختصاصی GitLab خود شوید. مشاهده خواهید کرد که گزینهی جدیدی با عنوان Sign in with GitLab.com اضافه شده است. روی آن کلیک کنید تا وارد حساب کاربری خود در GitLab.com شوید.
مرحله 6: تأیید دسترسی (Authorization)
در این مرحله، برای تأیید و اعطای دسترسی لازم از سمت GitLab.com، روی گزینه Authorize test-move کلیک نمایید. پس از تأیید، فرآیند احراز هویت تکمیل شده و بهصورت خودکار به سرور GitLab اختصاصی خود بازگردانده خواهید شد.
نکته امنیتی: کاربران جدیدی که از طریق GitLab.com وارد سرور شما میشوند، بهصورت پیشفرض در حالت Blocked قرار میگیرند. برای فعالسازی آنها باید مسیر زیر را دنبال کرده و وضعیت کاربر را از حالت مسدود خارج کنید:
Admin Area > Overview > Users > Blocked
مرحله 7: مشاهده و انتقال پروژهها
در این بخش، فهرست تمامی پروژههای موجود در حساب GitLab.com شما نمایش داده میشود.
برای انتقال هر پروژه GitLab.com به سرور گیت لب اختصاصی، کافی است روی گزینه Import در مقابل آن پروژه کلیک کنید.
مرحله 8: تأیید موفقیت انتقال
در پایان، پس از انجام مراحل فوق، صفحهای مشابه تصویر زیر مشاهده خواهید کرد که نشاندهندهی انتقال موفق پروژه از GitLab.com به سرور GitLab اختصاصی شماست.
با انجام این مراحل، تمام پروژه های شما بهصورت ایمن و کامل از GitLab.com به سرور اختصاصی گیت لب منتقل میشوند. از این پس میتوانید بدون محدودیت و با کنترل کامل بر منابع خود، به توسعه و مدیریت پروژهها ادامه دهید.