گردو
راهنمای استقرار Go

دیپلوی golang روی گردو

دیپلوی golang روی سکوی ابری گردو برای Gin، Echo، Fiber و net/http؛ از Git یا CLI با دستور ساخت و اجرا، متغیرها و دامنه. سرویس Go خود را منتشر کنید.

پاسخ کوتاه

برای دیپلوی golang و فریم‌ورک‌های Gin، Echo و Fiber، کافی است باینری پروژه را مستقیماً از گیت کامپایل و اجرا کنید. برای اطلاعات بیشتر درباره زیرساخت زبان گو، صفحه هاست golang و مستندات آموزش دیپلوی را مطالعه نمایید.

آخرین بازبینی: ۱۴۰۵/۰۶/۱۵

آماده‌سازی پروژه برای دیپلوی golang

فایل‌های وابستگی پروژه یعنی go.mod و go.sum را در مخزن گیت قرار دهید. مقادیر پیش‌فرض دستور ساخت و دستور اجرا برای این استک:

# دستور ساخت
go build -o app .

# دستور اجرا
./app

برنامه باید PORT را از محیط بخواند و روی 0.0.0.0 bind شود.

استقرار خودکار مستقیم از مخزن Git

  1. در پنل کاربری گردو کلاد یک پروژه و محیط جدید ایجاد کنید.
  2. سرویس را به مخزن GitHub یا GitLab و شاخه مورد نظر متصل نمایید.
  3. دستور ساخت و دستور اجرا را مطابق با نیازمندی‌های پروژه تنظیم کنید.
  4. متغیرهای محیطی ضروری را تعریف کرده و فرآیند استقرار را آغاز نمایید.
  5. در بخش دامنه‌ها، دامنه‌ی اختصاصی خود را متصل کرده و از SSL رایگان بهره‌مند شوید.

استقرار از پوشه محلی با Gerdoo CLI

curl -fsSL https://get.gerdoo.cloud/install.sh | sh
gerdoo login
cd your-project
gerdoo deploy
gerdoo logs

ابزار خط فرمان گردو امکان انتشار مستقیم کدهای محلی را بدون نیاز به ارسال به گیت فراهم می‌سازد.

در Windows (PowerShell) به‌جای دستور نصب از irm https://get.gerdoo.cloud/install.ps1 | iex استفاده کنید.

نکات مهم محیط عملیاتی برای Go

  • CGO را فقط وقتی dependency بومی دارید فعال کنید.
  • باینری را با timeout و shutdown آرام برای SIGTERM آماده کنید.
  • endpoint سلامت سبک و بدون وابستگی سنگین بسازید.
  • بررسی سلامت و زمان شروع به کار سرویس را پیش از هدایت ترافیک واقعی تست کنید.
  • داده‌های دائمی و فایل‌های کاربران را روی دیسک‌های ماندگار یا ذخیره‌سازی ابری نگه دارید.

سوالات پرتکرار

آموزش دیپلوی golang برای فریم‌ورک‌های Gin و Fiber چگونه است؟

در آموزش دیپلوی golang کافی است فایل go.mod در مخزن قرار داشته باشد. گردو دستور go build را اجرا کرده و باینری کامپایل‌شده سبک را در کانتینر ایزوله به اجرا درمی‌آورد.

دیپلوی پروژه go و دیپلوی گو بدون داکرفایل پشتیبانی می‌شود؟

بله، در دیپلوی پروژه go و دیپلوی گو پلتفرم به صورت هوشمند ساختار زبان را شناسایی می‌کند، هرچند امکان تعریف داکرفایل اختصاصی چندمرحله‌ای (Multi-stage) نیز فراهم است.