Loading documentation…
پیکربندی build برنامه
Dockerfile، monorepo، پورت runtime و abrun.yaml را برای build منبع در ابران تنظیم کنید.
آخرین بازبینی:
این صفحه مفید بود؟
بازخورد شما به بهترشدن مستندات کمک میکند.
Dockerfile، monorepo، پورت runtime و abrun.yaml را برای build منبع در ابران تنظیم کنید.
آخرین بازبینی:
Loading documentation…
این صفحه مفید بود؟
بازخورد شما به بهترشدن مستندات کمک میکند.
ابران ابتدا Dockerfile repository را بررسی میکند. اگر Dockerfile وجود نداشته باشد، برای مسیرهای پشتیبانیشده Node.js و Go یک برنامه build تشخیص میدهد و دستورهای موقت تولید میکند. برای تنظیمهای آماده هر ecosystem، راهنمای Next.js، Node.js، Vite یا Go را ببینید.
مقدار نهایی هر deployment با این ترتیب ساخته میشود؛ مورد پایینتر بر مورد بالاتر اولویت دارد:
abrun.yaml در ریشه repositorydeployment نتیجه نهایی و منبع هر تنظیم را snapshot میکند تا بررسی build بعداً قابلتکرار باشد.
اگر Dockerfile در build context وجود داشته باشد، همان فایل مرجع build است:
abrun deploy <app>برنامه باید در runtime روی 0.0.0.0 و پورت تنظیمشده App گوش دهد. .dockerignore را نیز طوری تنظیم کنید که credential، .env، dependencyهای محلی و artifactهای غیرضروری وارد build context نشوند.
برای یک deploy میتوانید build context و Dockerfile را صریح انتخاب کنید:
abrun deploy api . \
--root-directory apps/api \
--dockerfile-path Dockerfile \
--port 8080هر دو path نسبت به repository هستند و اجازه خروج با .. یا path مطلق را ندارند. dockerfile-path داخل build context انتخابشده resolve میشود.
برای ذخیره این مقدارها در کنسول، صفحه App را باز کنید و در Settings بخش deploy configuration، مقدارهای Build context، Dockerfile و Port را تنظیم کنید.
abrun.yaml فقط برای hintهای build و runtime است؛ این فایل جای تعریف domain، disk، replica، database یا secret نیست.
builder:
root: apps/api
dockerfile: Dockerfile
platform: node
version: '22'
package_manager: pnpm
apt:
- libvips-dev
install_command: pnpm install --frozen-lockfile
build_command: pnpm build
run_command: node dist/main.js
runtime:
port: 8080
health: /healthقواعد فعلی:
builder.platform در config منبع فقط node یا go را میپذیرد.package_manager در schema یکی از npm، pnpm، yarn یا bun است و فقط برای Node معتبر است؛ generated Node builder فعلی Bun را رد میکند و برای آن باید Dockerfile داشته باشید.runtime.port باید بین 1 و 65535 باشد.runtime.health باید path مطلق مانند /health و بدون فاصله باشد.وقتی Dockerfile repository استفاده میشود، fieldهای مخصوص تولید خودکار مانند platform، package manager و commandها نادیده گرفته میشوند و ابران یک warning ثبت میکند؛ root، dockerfile، پورت و health همچنان در انتخاب مسیر و runtime نقش دارند.
پس از deploy، جزئیات deployment را در کنسول یا CLI باز کنید:
abrun app deployment list <app>
abrun app deployment inspect <app> <deployment>
abrun app deployment logs <app> <deployment>platform، framework، package manager، commandها، پورت و منبع هر مقدار را با انتظار خود مقایسه کنید.
root-directory و dockerfile-path را دوباره بررسی کنید.abrun.yaml استفاده کنید.