اخیراً نسخه جدید Edge 2.2.3.0 از Docker Desktop را برای Windows منتشر کرده ایم. این می تواند به عنوان کاندیدای انتشار نسخه Stable بعدی که رسماً WSL را پشتیبانی خواهد کرد ، در نظر گرفته شود. با استفاده از ویندوز 10 نسخه 2004 لمس های نهایی نسخه Docker Desktop را به شما ارائه می دهیم تا بهترین تجربه اجرای ظروف لینوکس در ویندوز را به شما ارائه دهیم. 10.
یكی از مزایای مهم این است كه با بروزرسانی بعدی ویندوز 10 ، ما نیز از اجرای Docker Desktop در ویندوز 10 صفحه اصلی پشتیبانی خواهیم كرد. ما در طی چند ماه گذشته با مایکروسافت همکاری کردیم تا Docker Desktop و WSL 2 با یکدیگر سازگار شوند.
در این پست وبلاگ ما به پشت صحنه می پردازیم که چگونه ما می توانیم ماشین های تست جدید WSL 2 جدید را برای اجرای تست های خودکار در CI خود تنظیم کنیم. خط لوله.
این کار با یک لپ تاپ آغاز شد
بیاد داشته باشیم که همه اتوماسیون به نوعی با مراحل دستی شروع می شود و شما از آنجا تکامل می یابید تا بهتر و خودکار تر شوید. در ابتدای این پروژه به ما یک لپ تاپ در KubeCon 2019 با نسخه اولیه WSL 2. داده شد.
تیم توسعه ما با آن لپ تاپ می توانستیم دست خود را از آن ویژگی جدید بگیریم و آن را در Docker Desktop ادغام کنیم. اما مطمئناً ، این برای کل تیم کاملاً مقیاس نیست و ما نیز به تست های خودکار نیاز داریم.
ماتریس تست Docker Desktop
در تیم Docker Desktop ما چندین مجموعه تست را در چندین ماشین ویندوز و مک اجرا کردیم. نسخه های سیستم عامل نصب شده است. هر تغییر کد با ماتریس تست در ماشین های انتخاب شده آزمایش می شود.
یکی از چالش های ما اضافه کردن ماشین های ویندوز به WSL 2 با استفاده از این ماتریس بود. در آن زمان برنامه ویندوز خودی شروع به ارسال نسخه های اولیه می کرد و ما می توانستیم اتوماتیک سازی مراحل را برای به روز نگه داشتن ماشین های تست جدید شروع کنیم.
دوندگان تست در صورت تقاضا
زمان شروع کار Docker Desktop بسیار سریعتر با پس زمینه WSL 2. این گزینه به ما امکان اجرای تست های پایان به پایان در ماشین های مجازی را می دهد. ما زیرساخت CI را برای چرخاندن ماشینهای ویندوز 10 خودی در لاجورد به صورت تقاضا تقویت کردیم. این به ما انعطاف پذیری بیشتری می دهد تا ماشینهای تست را در نسخه کاری WSL 2 در استخر خود نگه داریم و همچنین جدیدترین ساختهای Insider را آزمایش کنیم.
داشبورد CI داخلی ما نشان می دهد تمام دستگاه های تست و کارهایی که روی آنها انجام می شود هر چند تغییر می کنند. هفته ها ما دائماً از یک نسخه Insider به نسخه بعدی حرکت می کردیم. در حال حاضر ما بر روی ساخت آهسته Slow Ring 19041.x تمرکز می کنیم ، اما ما همچنان با ماشین های Fast Ring بعدی ادامه می دهیم تا از ساخت ویندوزهای بعدی بازخورد داشته باشیم.
خط لوله خودکار برای ساخت دستگاه های تست
تصاویر Azure VM ما برای چرخش ماشینهای WSL 2 با یک خط لوله CI جداگانه استفاده می کنیم. ما از Packer برای ایجاد تصویر VM از یک پرونده ISO استفاده می کنیم و اسکریپت های مقدماتی را اجرا می کنیم تا همه چیزهایی را که لازم داریم برای اجرای آن به عنوان یک دونده CI تهیه کنیم. خط لوله نحوه ساخت و بارگذاری تصویر VM نیز حاوی مواردی غیر از مرحله ساخت است. ابتدا کد منبع الگوی Packer و اسکریپتهای پوسته PowerShell و Unix را بررسی می کنیم تا در صورت تغییر کد ، چیزی را خراب نکنیم. Packer build خود طولانی ترین زمان را طول می کشد ، همچنین یک Windows Update را در VM اجرا می کند تا آخرین نسخه سیستم عامل را دریافت کند. پس از ساخت ، ما یک مرحله تأیید را با استفاده از InSpec اضافه کردیم تا بررسی کنیم که آیا نرم افزار مورد نیاز ما به درستی نصب شده است.
خروجی این خط لوله Packer یک تصویر Azure VM است که می تواند برای چرخاندن دونده های جدید در صورت تقاضا در CI دیگر مورد استفاده قرار گیرد. خطوط لوله ما به طور معمول آزمایش هایی را در یک محیط قناری انجام می دهیم تا ببینیم که آیا تصویر VM واقعاً بوت شده و به زیرساخت CI ما وصل می شود یا خیر. اگر همه چیز خوب است ، پیکربندی Docker Desktop CI را برای تست های پایان به روز خود به روز می کنیم.
یک چالش جدید: Windows 10 Home
با استفاده از آن اتوماسیون برای دستگاه های ویندوز 10 پرو در دست ما توانستیم اضافه کنیم. Windows 10 Home بسیار آسان است. البته برخی از چالش ها وجود دارد ، به عنوان مثال Windows 10 Home پشتیبانی از راه دور دسک تاپ را ارائه نمی دهد. ما یک سرور VNC اضافه کردیم تا اگر بخواهیم مشکلات را بررسی کنیم می توانیم به دونده های ابری متصل شویم.
نتیجه گیری
در 12 ماه گذشته تیم Docker Desktop سخت تلاش کرد تا نه تنها پشتیبانی WSL 2 را به Docker Desktop وارد کند. ، بلکه کاربران Windows 10 Home را نیز قادر ساخت تا Docker را به راحتی روی دستگاههای خود اجرا کنند. ما واقعاً منتظر انتشار نسخه رسمی ویندوز 10 ، نسخه 2004 هستیم و دوست داریم نظرات شما را بشنویم.