
پیش از شروع
- این راهنما را با یک پروژه آزمایشی یا منبعی که مجاز به تغییر آن هستید دنبال کنید.
- هزینه و اثر حذف یا جایگزینی داده در مرحله تأیید نهایی دوباره نمایش داده میشود.
- پس از هر تغییر، نتیجه مورد انتظار همان مرحله را در وضعیت پروژه، رخدادها یا گزارش فعالیت بررسی کنید.
فایل را در مخزن قرار دهید
یک فایل بدون پسوند با نام دقیق Paastafile در ریشه مخزن بسازید و version را برابر 1 قرار دهید. این فایل اختیاری است؛ اگر آن را نسازید پاستا تنظیمات را از Dockerfile، Compose یا فریمورک پروژه تشخیص میدهد. نام قدیمی paasta.yaml همچنان کار میکند، اما برای پروژههای جدید Paastafile پیشنهاد میشود.
مسیر Build را برای monorepo مشخص کنید
در build.root مسیر نسبی اپلیکیشن مانند apps/web را بنویسید. اگر Dockerfile نام یا مسیر دیگری دارد، build.dockerfile را نسبت به همان پوشه مشخص کنید. مسیر مطلق و خروج از پوشه مخزن پذیرفته نمیشود.
اجرای سرویس را تعریف کنید
در runtime میتوانید port، startCommand، releaseCommand و healthPath را تعیین کنید. این مقادیر در استقرار نسخه بعدی حفظ میشوند. releaseCommand پیش از انتشار نسخه جدید و با همان Image و Secretهای پروژه، اما بدون اتصال دیسکهای RWO اجرا میشود؛ خروجی کامل آن در لاگ دانلودی میماند و اگر شکست بخورد نسخه فعال قبلی بدون تغییر ادامه میدهد.
نمونه کامل
version: 1
build:
root: apps/web
dockerfile: Dockerfile
runtime:
port: 3000
startCommand: npm start
releaseCommand: npm run migrate
healthPath: /healthچه چیزهایی عمداً داخل آن نیست؟
Paastafile فقط روش ساخت و اجرای همان کد را توضیح میدهد. پلن، شیوه پرداخت، تعداد نمونهها، دیتابیس، دیسک، دامنه و Secretها داخل آن قرار نمیگیرند؛ بنابراین یک Push نمیتواند ناخواسته منبع بخرد، داده حذف کند یا مقدار محرمانه را وارد Git کند.
GitOps چگونه اعمال میشود
پس از اتصال Git و فعالکردن Auto Deploy، هر Push یک Build تغییرناپذیر میسازد و Paastafile همان commit را دوباره میخواند. به این ترتیب تنظیمات محیط آزمایشی و Production از همان نسخه کد میآیند و تغییرشان در تاریخچه Git قابل بررسی و بازگشت است.