اگر کدتان در گیت نیست، میتوانید پوشهی پروژه را zip کنید و مستقیم در پنل آپلود کنید. پلتفرم فایلها را امن استخراج میکند، برایشان یک مخزنِ خصوصی میسازد و مثلِ یک ریپوی گیت build میکند.
قبل از شروع#
- اپ باید روی یک پورتِ مشخص و روی
0.0.0.0گوش دهد (مثلاً3000). - یا
Dockerfileدر ریشهی پروژه داشته باشید، یا بگذارید build خودکار زبان را تشخیص دهد. - secret و فایل
.envواقعی را داخلِ ZIP نگذارید؛ متغیرها را از تبِ Environment بدهید.
محدودیتها#
| مورد | سقف |
|---|---|
| حجمِ فایلِ ZIP | ۵۰ مگابایت |
| حجمِ بعد از استخراج | ۳۰۰ مگابایت |
| تعدادِ فایلها | ۲۰٬۰۰۰ |
همچنین این موارد پذیرفته نمیشوند:
- ZIPِ رمزدار
- مسیرهایی مثل
../یا لینکهای نمادین (symlink)
اگر خطای «unsafe paths» دیدید، ZIP را با روشِ عادیِ فشردهسازیِ سیستمعامل از داخلِ پوشهی پروژه بسازید، نه از پوشهی بالاتر.
ساخت اپ#
- SERVICES → + NEW SERVICE → Custom app.
- نام و پک را انتخاب کنید.
- در بخشِ SOURCE گزینهی Upload ZIP را انتخاب کنید و فایل را انتخاب کنید.
- OPTIONS: پورت و روشِ build (
Auto،DockerfileیاDocker Compose) را مثلِ ساخت از Git تنظیم کنید. - CREATE & DEPLOY. لاگِ build زنده نمایش داده میشود.
آپدیتِ نسخهی جدید#
کدتان عوض شد؟ ZIP تازه را بسازید و در صفحهی اپ بخشِ آپلودِ نسخهی جدید را پیدا کنید. با آپلودِ موفق، پلتفرم نسخهی جدید را build و اجرا میکند.
نکتهها#
- اپهایی که از ZIP ساخته شدهاند قابلِ کلون نیستند. برای کپی، یک اپِ جدید بسازید و ZIP را دوباره آپلود کنید.
- بخشِ تنظیماتِ مخصوصِ گیت (مثلِ branch و deploy key) برای این اپها نمایش داده نمیشود.
- اگر build شکست خورد، لاگ را بخوانید و خطای دیپلوی را ببینید.
- اگر تعدادِ فایلها یا حجم را رد کرد، پوشههای
node_modules،.gitو خروجیِ build را قبل از zip حذف کنید.
