Loading documentation…
استقرار Next.js در ابران
برنامه Next.js را با build خودکار، متغیرهای محیطی و پورت درست در ابران deploy کنید.
آخرین بازبینی:
این صفحه مفید بود؟
بازخورد شما به بهترشدن مستندات کمک میکند.
برنامه Next.js را با build خودکار، متغیرهای محیطی و پورت درست در ابران deploy کنید.
آخرین بازبینی:
Loading documentation…
این صفحه مفید بود؟
بازخورد شما به بهترشدن مستندات کمک میکند.
dependency: nextابران پروژه دارای dependency به next را تشخیص میدهد، dependencyها را نصب میکند، next build را اجرا میکند و برنامه را در حالت server روی runtime اجرا میکند.
package.jsonاگر اولین deploy شماست، ابتدا CLI را نصب و وارد حساب شوید.
حداقل scriptهای build و start را در package.json داشته باشید:
{
"engines": { "node": "22" },
"scripts": {
"build": "next build",
"start": "next start"
}
}وجود package-lock.json، pnpm-lock.yaml یا yarn.lock نصب reproducible را فعال میکند. lockfile را commit کنید و فقط یکی از package managerها را در هر build context نگه دارید.
Generated builder فعلی Bun را اجرا نمیکند. اگر
bun.lockیاpackageManager: "bun"دارید، به npm، pnpm یا Yarn مهاجرت کنید یا یک Dockerfile صریح بنویسید.
پورت پیشفرض Next.js برابر 3000 است:
abrun app create my-next-app --plan <plan> --port 3000در runtime، ابران PORT، HOST و HOSTNAME را تنظیم میکند و command تشخیصدادهشده Next.js را روی 0.0.0.0 اجرا میکند.
مقدارهای runtime را پیش از deploy اضافه کنید:
abrun app env set my-next-app NODE_ENV=production
abrun app env set my-next-app 'DATABASE_URL=<connection-url>'متغیرهای NEXT_PUBLIC_* معمولاً هنگام build داخل bundle قرار میگیرند. مقدارهای ثبتشده با abrun app env set در runtime اعمال میشوند و generated source build فعلی آنها را به مرحله build تزریق نمیکند. برای مقدار public در bundle، از پیکربندی غیرحساس داخل source یا Dockerfile کنترلشده استفاده کنید. secret را با پیشوند NEXT_PUBLIC_ منتشر نکنید.
اگر next build به DATABASE_URL نیاز پیدا میکند، دسترسی به دیتابیس را تا runtime به تعویق بیندازید یا build را با Dockerfile صریح طراحی کنید. برای رفتار دقیق مقدارهای build و runtime، قرارداد نسخه Next.js خود را بررسی کنید.
از پوشه دارای package.json اجرا کنید:
abrun deploy my-next-app --logsابران باید در مرحله planning، platform را node و framework را next تشخیص دهد. پس از Ready، URL را باز و routeهای server-rendered و API را آزمایش کنید.
اگر Next.js در apps/web قرار دارد، build context را صریح انتخاب کنید:
abrun deploy my-next-app . --root-directory apps/webبرای workspaceهایی که dependency داخلی دارند، package ریشه باید workspaces را تعریف کند و package هدف باید name داشته باشد. plan تشخیصدادهشده را در جزئیات deployment بررسی کنید.
مسیر خودکار عمومی فعلی برای Next.js، server mode است. output: "standalone" و output: "export" artifact متفاوتی تولید میکنند، اما schema عمومی abrun.yaml هنوز output mode را انتخاب نمیکند.
برای این دو حالت از Dockerfile آزمایششده استفاده کنید و build را صریح کنترل کنید. next start را برای standalone یا export بهعنوان مسیر معتبر فرض نکنید.
next: not found: dependency و lockfile را بررسی کنید؛ Next.js باید در dependencyهای پروژه نصب باشد.next dev برای production مناسب نیست.--root-directory را روی package هدف بگذارید و نام workspace را بررسی کنید.لاگ کامل را با abrun deploy my-next-app --verbose و لاگ runtime را با abrun app logs my-next-app --previous --tail 100 ببینید.