۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

سفارشی کردن جعبه های توسعه دهنده مایکروسافت با کد

پیکربندی به‌عنوان کد به ایستگاه‌های کاری میزبان Azure مایکروسافت می‌رسد و به ما امکان می‌دهد از WinGet، فایل‌های YAML و PowerShell DSC برای ارائه زنجیره‌های ابزار آماده به توسعه‌دهندگان استفاده کنیم.

پیکربندی به‌عنوان کد به ایستگاه‌های کاری میزبان Azure مایکروسافت می‌رسد و به ما امکان می‌دهد از WinGet، فایل‌های YAML و PowerShell DSC برای ارائه زنجیره‌های ابزار آماده به توسعه‌دهندگان استفاده کنیم.

Microsoft Dev Box، محیط‌های توسعه‌دهنده میزبانی ابری مایکروسافت، اخیراً در دسترس پذیری عمومی قرار گرفت، آماده اجرا با ترکیبی از تصاویر ویندوز و طیف وسیعی از ماشین های مجازی با قابلیت های مختلف. Dev Boxes کاملاً قابل تنظیم و مدیریت مرکزی به شما این امکان را می دهد که محیط توسعه خود را برای کاری که تیم شما انجام می دهد تنظیم کنید. از آنجایی که ابزارهایی مانند Dev Drive و Dev Home جدید در سراسر ویندوز منتشر می‌شوند، در موقعیتی قرار خواهید گرفت که به سرعت سیستم‌های توسعه‌دهنده ایزوله جدیدی را که از درایوهای مجازی انعطاف‌پذیر استفاده می‌کنند و مستقیماً به جریان‌های کاری مبتنی بر Git متصل می‌شوند، پشتیبانی کنید. .

ابزارهایی مانند Dev Box برای سازمان‌هایی که باید به سرعت توسعه‌دهندگان جدید را وارد کنند، یا با پیمانکاران و سایر کارکنان احتمالی کار می‌کنند و باید محیط‌هایشان را کنترل کنند، کاملاً منطقی است. همین رویکرد با کارکنان از راه دور به خوبی کار می‌کند، جایی که با اختصاص Dev Boxes به آنها اطمینان حاصل می‌شود که کد شما و پروژه‌های شخصی آنها با هم ترکیب نمی‌شوند و آنها می‌توانند از سخت‌افزار خود بدون واگذاری کنترل کامل استفاده کنند. تنها چیزی که آنها نیاز دارند ماشینی است که بتواند یک جلسه دسکتاپ از راه دور را اجرا کند.

در Build 2023 در ماه مه، مایکروسافت خاطرنشان کرد که تقریباً ۱۰۰۰۰ مهندس خود قبلاً از Dev Boxes به عنوان بخشی از زنجیره ابزار خود استفاده می کردند و سرعت اجرای پروژه های جدید را افزایش می دادند. این شرکت از ترکیبی از تصاویر سلف سرویس و از پیش پیکربندی شده، با نمونه های پروژه و نقش خاص و همچنین شبکه های مجازی مبتنی بر Azure برای اتصال ایمن مهندسان به منابع مورد نیازشان استفاده می کند. شروع به کار با Dev Box از پیش پیکربندی شده به این معنی است که مهندسان می توانند با سرعت بیشتری بهره وری داشته باشند، حتی اگر تنظیمات و افزونه های مورد علاقه خود را به محیط های مجازی ارائه شده اضافه کنند.

در حال آزمایش Azure Developer CLI

اما اگر بخواهیم تهیه محیط‌های توسعه‌دهنده را خودکار کنیم، هنوز کار باید انجام شود. آنچه نیاز است چیزی بیش از آفیس و ویژوال استودیو است. ما به راهی برای ارائه تمام عناصر تشکیل دهنده یک زنجیره ابزار، از ویرایشگرها و ابزارهای طراحی گرفته تا پلتفرم ها و چارچوب های آزمایشی، همراه با کتابخانه ها و SDK های مورد نیاز برای ساخت کد نیاز داریم.

سفارشی کردن جعبه های توسعه دهنده با کد

مایکروسافت مجموعه جدیدی از ابزارهای «پیکربندی به‌عنوان کد» را ارائه می‌کند، در حال حاضر در پیش‌نمایش خصوصی، برای سهولت سفارشی سازی Dev Boxes. ابزارهای جدید از YAML برای تعریف تصاویر Dev Box و اجرای وظایف راه‌اندازی استفاده کنید، که ابزارهای مورد نیاز خود را از طریق مدیران بسته آشنا مانند شکلاتی و Winget. این وظایف همچنین می توانند با نصب کننده ویژوال استودیو برای افزودن برنامه های افزودنی کار کنند. همچنین می‌توانید ویژگی‌های Windows مانند Windows Subsystem برای لینوکس و Windows Subsystem برای Android را فعال کنید و زنجیره ابزار خود را فراتر از Windows گسترش دهید.

یک ویژگی جدید مفید برای پیکربندی Dev Box از Windows Package Manager، WinGet با ابزار پیکربندی جدید آن می آید. این به شما امکان می دهد وضعیت نصب نرم افزار خود را با استفاده از یک فایل پیکربندی YAML تعیین کنید. و ابزار پیکربندی حالت مطلوب (DSC) PowerShell. این رویکرد به پیکربندی‌های WinGet اجازه می‌دهد تا به صورت اعلامی باشند، و وضعیت پایان فرآیند نصب را توصیف کنند، نه مراحل مورد نیاز برای رسیدن به آنجا.

برای استفاده از فایل های پیکربندی WinGet، باید ویژگی های آزمایشی WinGet را فعال کنید، زیرا این ویژگی در حال حاضر در پیش نمایش است. اولین قدم دانلود و نصب پیش‌نمایش WinGet است (نصب‌کننده ضروری MSI از این صفحه یادگیری مایکروسافت). همچنین باید با آشنا شوید طرح پیکربندی WinGet، در حال حاضر در نسخه ۰.۲.

پس از آماده شدن برای استفاده، WinGet ابتدا یک فایل پیکربندی معتبر را بررسی می کند، قبل از اینکه از PowerShell DSC برای مدیریت فرآیند نصب استفاده کند. نصب ها می توانند به هر ترتیبی و حتی به صورت موازی انجام شوند. تنها توالی جایی است که وابستگی های تعریف شده وجود دارد. به عنوان مثال، اگر یک ادعا در نسخه برنامه با شکست مواجه شود، مراحل به دست آمده اجرا نمی شوند. با این حال، این مانع از تکمیل بقیه پیکربندی نمی شود، بنابراین باید قبل از استقرار آن در ناوگان Dev Box خود، نصب را آزمایش کنید. هر گونه خطا در کنسول شما نمایش داده می شود یا در فایل های لاگ نوشته می شود.

سرویس ابری آزول کدهای مرده را در برنامه های جاوا شناسایی می کند

اجرای غیر متوالی پیکربندی ها منطق خاصی دارد. برای یک چیز، به شما امکان می دهد عناصر را به روشی که می خواهید گروه بندی کنید تا YAML خواناتر شود. به عنوان مثال، می‌توانید بخشی برای SDK، بخشی دیگر برای ابزارها و زبان‌های توسعه‌دهنده، و بخشی دیگر برای سرویس‌ها و برنامه‌های مورد نیاز داشته باشید. سپس به‌روزرسانی‌ها می‌توانند به سرعت در مکان مناسب اضافه شوند، به شما کمک می‌کنند تغییرات را پیگیری کنید و به شما امکان می‌دهد نسخه‌های مختلف پیکربندی‌های خود را به سرعت مقایسه کنید—و همچنین امکان سفارشی‌سازی نصب‌ها برای نقش‌های مختلف در یک تیم را فراهم می‌کند.

تألیف فایل های پیکربندی WinGet

پس چگونه یک فایل پیکربندی WinGet ایجاد کنید؟ بیشتر اینها بر اساس مدل مدیریت DSC PowerShell است، بنابراین یک پیوند مشخص بین نحوه کار DSC و ساختار پیکربندی WinGet وجود دارد. یک فایل پیکربندی دو بخش دارد. اولین جزئیات ادعاها را شرح می دهد، که حالت پایه لازم برای تکمیل مجموعه ای از نصب های نرم افزار است. مورد دوم منابع، نرم افزاری که قرار است نصب شود و هر گونه تنظیمات پیکربندی را شرح می دهد.

ادعاها از ماژول‌های DSC برای کار با سیستم عامل اصلی استفاده می‌کنند و می‌توانید نسخه‌های خاص یا نسخه‌های حداقل یا حتی حداکثر را مشخص کنید. باید با استفاده از اینها شروع کنید تا مطمئن شوید که Dev Box‌های شما تنظیمات پایه درستی دارند قبل از نصب ویژگی‌ها و برنامه‌های اضافی. به طور مشابه، YAML شما منابع لازم را تعریف می کند، که می تواند شامل اطمینان از فعال بودن سوئیچ های حالت سیستم عامل خاص، و همچنین اضافه کردن بار کاری به برنامه های نصب شده باشد، که ممکن است مستلزم بارگیری فایل های پیکربندی اضافی برای ابزارهایی مانند ویژوال استودیو باشد. باز هم، شما از فایل پیکربندی برای خودکارسازی ماژول‌های DSC استفاده می‌کنید، با نصب ماژول WinGet و مدیریت پیکربندی‌ها توسط ماژول‌های خود برنامه‌ها.

موتور سری زمانی نسل بعدی InfluxDB بر روی Rust ساخته شده است و از SQL پشتیبانی می کند

پیکربندی WinGet را به عنوان لیستی از گره های منبع در نظر بگیرید. اینها عناصر اصلی YAML در هر بخش از فایل هستند که حاوی دستورالعمل های مورد نیاز برای نصب یا پیکربندی بخشی از زنجیره ابزار شما هستند. هر منبع شامل یک دستورالعمل، به شکل یک ماژول DSC، و تنظیمات لازم به عنوان جفت کلید/مقدار است. هر منبعی می‌تواند قبل از اجرا نیاز به تکمیل منبع دیگری داشته باشد (مثلاً اطمینان حاصل شود که ویژوال استودیو قبل از پیکربندی آن نصب شده است).

یافتن ماژول‌های DSC، چه در مخزن ماژول‌های پشتیبانی شده خود مایکروسافت و چه در گالری PowerShell انجمن، آسان است. حتی می‌توانید برای نصب ابزارهای داخلی یا برنامه‌های نسبتاً کمیاب، ابزار خود را بنویسید.

آزمایش تنظیمات WinGet

اگر می‌خواهید نصب‌ها را با استفاده از فایل‌های پیکربندی WinGet خودکار کنید، مهم است که اطمینان حاصل کنید که ماژول هایی که استفاده می کنید قابل اعتماد هستند و YAML شما همانطور که انتظار می رود کار می کند. در حالی که می‌توانید از یک محیط Dev Box برای آزمایش‌های نهایی استفاده کنید، آزمایش‌های اولیه بهتر است با استفاده از ماشین‌های مجازی ویندوز یا حتی Sandbox داخلی ویندوز اجرا شوند، که در هر راه‌اندازی مجدد، محتویات آن را دور می‌اندازد. پس از آزمایش، می‌توانید فایل پیکربندی WinGet را در YAML تنظیم Dev Box خود قرار دهید.

استفاده از کد برای پیکربندی Dev Box‌های ما گام مهمی به جلو است، زیرا نه تنها به ما امکان می‌دهد تا پیکربندی‌ها را تسریع کنیم، بلکه کدهایی را که برای ساختن محیط‌های توسعه استفاده می‌کنیم در همان مخازن کدی که می‌سازیم ذخیره کنیم. تصور یک افزونه برای برنامه جدید Dev Hub که به GitHub متصل می‌شود، یک فایل راه‌اندازی را دانلود می‌کند، و تنظیمات و پیکربندی را خودکار می‌کند، آسان است و به ما امکان می‌دهد تا یک محیط توسعه را با یک کلیک یک دکمه بسازیم، آماده شروع کدنویسی.