استقرار سرویس
منابع استقرار سرویس
ساخت سرویس از Git، ایمیج Docker، پوشه محلی یا قالب بازارچه.
هر سرویس یک «منبع» (source) دارد که مشخص میکند ایمیج آن چگونه ساخته میشود: از مخزن Git با بیلد خودکار، از یک ایمیج Docker آماده، از یک پوشه محلی که با ابزار خط فرمان آپلود میشود، یا از یک قالب آماده در بازارچه.
برای استقرار از Git، مخزن و شاخه را انتخاب کنید؛ هر Push روی شاخه متصل، بیلد و استقرار جدید را آغاز میکند (در صورت فعال بودن استقرار خودکار).
برای ایمیج آماده، نام و تگ ایمیج و پورت داخلی را وارد کنید. برای پوشه محلی، از دستور gerdoo deploy استفاده کنید؛ برای نصب سریع نرمافزارهای آماده، از بازارچه استفاده کنید.
تشخیص خودکار فریمورک
تشخیص نوع پروژه از فایلهای مخزن و امکان اصلاح دستی تنظیمات.
در استقرار از سورس، پلتفرم فایلهایی مانند package.json، requirements.txt، go.mod، composer.json یا Cargo.toml را بررسی میکند و پیشنهاد بیلد و اجرا میدهد. اگر مخزن Dockerfile داشته باشد، همان مبنای بیلد قرار میگیرد.
تشخیص خودکار نقطه شروع است، نه جایگزین بررسی شما. اگر پروژه Monorepo است، خروجی بیلد در پوشه متفاوتی قرار میگیرد یا دستور اجرا خاصی دارد، مسیر ریشه، Build Command و Run Command را دستی تنظیم کنید.
بعد از هر تغییر تنظیمات، یک دیپلوی جدید اجرا کنید و لاگ بیلد را بخوانید. بیشتر خطاهای استقرار از نسخه زبان، نصب نشدن وابستگی یا گوش ندادن برنامه روی PORT ایجاد میشوند.
استقرار با Docker Image
اجرای یک ایمیج آماده از Docker Hub یا رجیستری خصوصی.
اگر ایمیج Docker آماده دارید، نام کامل ایمیج همراه با تگ، پورت داخلی و متغیرهای محیطی را وارد کنید تا بهعنوان سرویس همیشهروشن اجرا شود. برای محیط تولید از تگ مشخص استفاده کنید، نه latest.
برای رجیستری خصوصی، نام کاربری و توکن دسترسی را وارد کنید؛ این اعتبارنامه رمزگذاریشده ذخیره میشود و فقط برای pull ایمیج استفاده میگردد.
پورت داخلی باید همان پورتی باشد که پروسه داخل ایمیج روی آن Listen میکند. برای دیتابیسها و بروکرها از حالت دسترسی TCP و برای داده ماندگار از Volume استفاده کنید.
اتصال به GitHub
نحوه اتصال حساب گیتهاب و استقرار از مخازن خصوصی و عمومی.
برای شروع استقرار، ابتدا باید از طریق داشبورد در بخش تنظیمات حساب کاربری (یا در مرحله استقرار) روی دکمه «اتصال به گیتهاب» کلیک کنید.
شما به صفحه احراز هویت GitHub هدایت میشوید. ما از روش امن GitHub App استفاده میکنیم تا بدون نیاز به وارد کردن رمز عبور یا ارائه دسترسیهای گسترده، تنها به مخازنی که خودتان انتخاب میکنید دسترسی داشته باشیم.
پس از تایید، به داشبورد بازمیگردید و میتوانید تمامی مخازن مجاز خود را برای استقرار مشاهده کنید. با هر Push در شاخه متصل شده، سیستم به طور خودکار بیلد و دیپلوی جدید را آغاز میکند و وضعیت استقرار را روی همان کامیت در گیتهاب ثبت میکند.
اتصال به GitLab شخصی (Self-hosted)
نحوه اتصال و استقرار از ابرکهای اختصاصی گیتلب.
اگر تیم شما از سرور گیتلب شخصی استفاده میکند، امکان اتصال مستقیم پلتفرم ما به آن وجود دارد.
در بخش افزودن مخزن، تب GitLab Self-hosted را انتخاب کنید. شما باید آدرس دامنه گیتلب خود (مانند https://gitlab.yourcompany.com ) و یک Personal Access Token با دسترسی read_api و read_repository ایجاد و وارد نمایید.
با وارد کردن این اطلاعات، پلتفرم لیستی از پروژههای مجاز شما را نمایش داده و میتوانید فرآیند استقرار خودکار را دقیقاً مشابه گیتهاب تنظیم کنید.
الگوی اجرای برنامه روی PORT
اپلیکیشنهای پویا باید روی پورتی که پلتفرم در متغیر PORT قرار میدهد گوش دهند. مقدار ثابت مانند 3000 در Production کافی نیست.
const port = process.env.PORT || 3000;
app.listen(port, "0.0.0.0", () => {
console.log(`listening on ${port}`);
});