نسخه ۱.۲.۰ icp-cli نیت استقرار را به یک مرز ایمنی صریح تبدیل میکند
آخرین نسخه icp-cli کنترلهای روشنتری برای اتصال، ایجاد و استقرار کانسترها اضافه میکند و محدودیت زمانی افزونهها را برای محیطهای CI کندتر قابل تنظیم میسازد.

DFINITY در ۲۳ ژوئیه نسخه ۱.۲.۰ ابزار icp-cli را منتشر کرد؛ نسخهای که مجموعهای از تغییرات را برای صریحتر کردن نیت توسعهدهنده هنگام استقرار ارائه میدهد. محور اصلی این بهروزرسانی قالب پروژه جدید نیست، بلکه کاهش ابهام در نقطهای است که پیکربندی محلی به استقرار یک کانستر زنده تبدیل میشود.
مهمترین قابلیت جدید، icp canister link است. این فرمان یک پرینسیپال کانستر موجود را به کانستر پروژه اختصاص میدهد و راه مستقیمی برای اتصال یک پروژه بررسیشده به منبعی که قبلاً مستقر شده فراهم میکند. این قابلیت برای بازیابی، تحویل محیط بین اعضای تیم و پروژههایی مفید است که شناسه کانستر آنها باید در ماشینهای مختلف ثابت بماند.
این نسخه همچنین icp canister create --with-icp را اضافه میکند. این مسیر از Canister ساخت چرخهها برای ایجاد کانستر استفاده میکند و برای subnetهای سیستمی محدود طراحی شده است. این گزینه در icp deploy پشتیبانی نمیشود؛ بنابراین تفاوت مهمی میان ایجاد صریح کانستر از خط فرمان و استقرار برنامه از مسیر معمول پروژه حفظ میشود.
تغییر ایمنیمحور دیگر، icp deploy --no-create است. با این گزینه، اگر کانستری که در پروژه تعریف شده وجود نداشته باشد، استقرار شکست میخورد و بهصورت ضمنی آن را ایجاد نمیکند. در pipelineهای تولید، این رفتار ایجاد پنهان منبع را به یک پیششرط قابل بررسی تبدیل میکند. در نتیجه تیمها میتوانند تأمین زیرساخت را از استقرار کد جدا کنند و ایجاد تصادفی یک کانستر جدید را زودتر تشخیص دهند.
این انتشار یک مشکل عملی در مشاهده خروجی استقرار را نیز اصلاح میکند. اکنون icp deploy برای هر کانستری که endpoint مربوط به http_request را ارائه کند، از جمله کانسترهای دارایی گواهیشده با امضایی متفاوت از شکل قبلی، URL فرانتاند را چاپ میکند. URLهای فرانتاند و رابط Candid جداگانه گروهبندی میشوند و احتمال هدایت توسعهدهنده به endpoint اشتباه کاهش مییابد.
برای buildهای سنگین از نظر دارایی، همگامسازی افزونهها اکنون متغیر ICP_CLI_PLUGIN_COMPUTE_LIMIT_SECS را ارائه میدهد و مقدار پیشفرض آن ۶۰ ثانیه است. تیم میتواند برای کارهای مشروعی مانند فشردهسازی Brotli روی bundleهای بزرگ، این مقدار را افزایش دهد. مقادیر نامعتبر رد میشوند و خطای پایان مهلت، هم نام متغیر و هم محدودیت فعال را گزارش میکند. این رفتار از نادیده گرفتن خاموش تنظیم نادرست در CI قابل اعتمادتر است.
درس عملی نسخه ۱.۲.۰ این است که آن را یک انتشار مرتبط با سیاست استقرار بدانیم. پروژههای موجود میتوانند وقتی تداوم هویت اهمیت دارد از icp canister link، زمانی که تأمین منابع باید جداگانه کنترل شود از --no-create و برای buildهای واقعاً پرهزینه از محدودیت قابل تنظیم افزونه استفاده کنند. با این حال، یک مرز شواهد را باید در نظر گرفت: یادداشتهای انتشار جدول سازگاری کاملی برای پیکربندیهای موجود پروژه ارائه نمیکنند؛ بنابراین تیمها باید پیش از تبدیل icp-cli 1.2.0 به ابزار پیشفرض زنجیره استقرار، آن را در CI آزمایش کنند.
راهنمای فعلی ICP، @icp-sdk/icp-cli را ابزار اصلی خط فرمان برای ساخت پروژه، اجرای شبکه محلی، استقرار کانسترها و فراخوانی متدهای Candid معرفی میکند. به همین دلیل این نسخه فقط یک فرمان منفرد را تغییر نمیدهد؛ بلکه نحوه بیان فرضهای مربوط به مالکیت، تأمین منابع و استقرار را در کل جریان توسعه بهبود میدهد.
خبرخوان را در ایمیل بگیرید
هر سیگنال تازه، مستقیم از خط تولید. بدون مزاحمت، لغو عضویت در هر زمان.


