هر deployment یک تلاش قابلمشاهده برای تبدیل منبع یا image به نسخه فعال App است. همان شناسه از ارسال منبع تا health check نهایی حفظ میشود.
اجرای یک استقرار
منبع پوشه فعلی را مستقر کنید:
abrun deploy <app>برای دیدن خطوط خام build و rollout علاوه بر timeline خلاصه:
abrun deploy <app> --verboseپس از موفقیت، --logs مستقیماً لاگ runtime را دنبال میکند:
abrun deploy <app> --logsبرای انتخاب روش build از --platform استفاده کنید. حالت auto ابتدا
Dockerfile را انتخاب میکند و سپس Node.js یا Go را تشخیص میدهد:
abrun deploy <app> --platform node
abrun deploy <app> --platform go
abrun deploy <app> --platform dockerfile --dockerfile-path deploy/Dockerfileمسیر صریح Dockerfile در صورت نبودن فایل خطا میدهد. انتخاب اجباری Node.js یا
Go نیز بهترتیب وجود package.json یا go.mod را بررسی میکند.
مراحل عمومی
CLI و کنسول همین ترتیب را نمایش میدهند:
Uploading source— snapshot منبع برای deployment ارسال میشود.Planning build— روش build، framework و دستورهای لازم تشخیص داده میشوند.Building image— برنامه به image قابل اجرا تبدیل میشود.Publishing image— artifact ساختهشده برای release آماده میشود.Releasing— نسخه جدید روی runtime اعمال میشود.Checking health— ابران آمادهبودن نسخه جدید را بررسی میکند.Ready— نسخه جدید سالم است و URL فعال نمایش داده میشود.
Ready تنها نتیجه کاملاً موفق است. وضعیتهای failed، cancelled یا degraded را موفق در نظر نگیرید.
مشاهده deploymentهای قبلی
abrun app deployment list <app>
abrun app deployment inspect <app> <deployment>
abrun app deployment logs <app> <deployment>برای مشاهده تغییر وضعیت تا نتیجه نهایی:
abrun app deployment watch <app> <deployment>لاگ deployment مربوط به build و rollout است. لاگ App رفتار نسخه در حال اجرا را نشان میدهد:
abrun app logs <app> --tail 100
abrun app logs <app> --followتشخیص خطا
ابتدا مرحلهای را پیدا کنید که متوقف شده است:
Planning build: فایلهای منبع،Dockerfile، root directory و دستورهای تشخیصدادهشده را بررسی کنید.Building image: خطای dependency، compile یا command خروجی build را از ابتدای بخش خطادار بخوانید.Releasing: پورت runtime، متغیرهای محیطی و دسترسی به dependencyها را بررسی کنید.Checking health: مطمئن شوید process روی0.0.0.0و پورت تعریفشده گوش میدهد و crash نمیکند.
برای دیدن لاگ container قبلی پس از crash:
abrun app logs <app> --previous --tail 100بازگشت از تغییر مشکلدار
فهرست deploymentها را باز کنید، شناسه نسخه سالم را پیدا کنید و rollback بسازید:
abrun app deployment list <app>
abrun app deployment rollback <app> <deployment>Rollback یک deployment جدید بر پایه نسخه انتخابشده ایجاد میکند؛ history قبلی حذف نمیشود. بعد از آن URL و لاگ runtime را دوباره بررسی کنید.
لغو deployment جاری
abrun app deployment cancel <app> <deployment>لغوکردن فقط برای deployment قابللغو معتبر است و نسخه سالم قبلی را جایگزین نمیکند.