AutomatedLab
| Build | الحالة | آخر التزام | أحدث إصدار |
|---|
| Develop |  |  | |
| Master |  |  |   |

ملخص المشروع
تمكنك أداة AutomatedLab (AL) من إعداد بيئات الاختبار والمختبرات على Hyper-V أو Azure مع منتجات متعددة أو جهاز افتراضي واحد فقط في وقت قصير جدًا. هناك متطلبان فقط يجب التأكد منهما: تحتاج إلى صور ISO للأقراص ومضيف Hyper-V أو اشتراك Azure.
الرعاة
شكر كبير لراعينا الدائم @chocolatey! إذا كنت تعيش تحت صخرة (أو كنت تعمل أساسًا على أنظمة غير ويندوز) خلال العقد الماضي، فإن Chocolatey هو نظام إدارة حزم رائع مع معرض حزم ثنائية عامة بالإضافة إلى خيارات الاستضافة الذاتية مع دعم على مستوى المؤسسات. جربها مع بيئة مختبر محلية - لن يكون الأمر أسهل من ذلك 😊 ابدأ بوحدة تحكم المجال وسلطة التصديق للتحقق ليس فقط من توزيع الحزم، بل أيضًا من التوقيعات الرقمية. تشمل أمثلتنا مثل خادم NuGet أو Azure DevOps جميع المعارض التي يمكن لـ Chocolatey استخدامها لنشر وتنزيل الحزم.
المتطلبات
بالإضافة إلى الوحدة نفسها، يجب أن يستوفي نظامك المتطلبات التالية:
- Windows Management Framework 5+ (Windows)
- .NET 4.7.1 (Windows PowerShell) أو .NET Core 2.x (PowerShell 6+)
- نظام التشغيل
- Windows Server 2012 R2+/Windows 8.1+ (Hyper-V، Azure)
- Linux (Azure)
- macOS (Azure، دعم بأفضل جهد نظرًا لعدم امتلاك @raandree ولا @nyanhp لأجهزة Apple)
- لغة نظام التشغيل الموصى بها هي en-us
- صلاحيات المسؤول مطلوبة على ويندوز
- ملفات ISO لجميع أنظمة التشغيل (Hyper-V فقط) والأدوار المراد نشرها (Hyper-V، Azure)
- وحدة معالجة مركزية تدعم Intel VT-x أو AMD/V
- كمية كافية من ذاكرة الوصول العشوائي (RAM)
- تخزين عالي الإنتاجية مع زمن استجابة منخفض (يرجى عدم استخدام الأقراص الدوارة، لوجود مشكلات متعلقة بها)
ويندوز
- Windows Management Framework 5+ أو يُفضل PowerShell 7
- Windows Server 2012 R2+/Windows 8.1+
- لغة نظام التشغيل الموصى بها هي en-us
- صلاحيات المسؤول مطلوبة
لينكس، macOS
- أنظمة تشغيل المضيف المدعومة (Azure، Proxmox): Fedora، Ubuntu، Ubuntu WSL وAzure Cloud Shell
- الضيوف لينكس المدعومون: CentOS/RHEL/Fedora (أي إصدار)، Ubuntu Server (ISO سطح المكتب غير مدعوم)، OpenSUSE/SUSE
- macOS مدعوم بأفضل جهد نظرًا لعدم وجود أجهزة Apple - لا تتردد في رعاية اثنين على الرغم من ذلك :D
- تم اختباره بانتظام على Fedora (غير WSL) وUbuntu (WSL). نظرًا للطبيعة المجزأة لتوزيعات لينكس، يكون الدعم بأفضل جهد ويستغرق وقتًا
- PowerShell Core 6+
- SSH أو gss-ntlmssp لتمكين الإدارة عن بُعد (إلزامي - بدون إدارة عن بُعد، لا يمكن لـ AutomatedLab العمل)
- إذا كنت في شك، جرب
Install-Module PSWSMAN; Install-WSMAN - النجاح غير مضمون
- أوامر IP والمسارات متاحة
- اشتراك Azure
- في الوقت الحالي، يعمل AutomatedLab فقط باستخدام Azure عند استخدام لينكس.
- مخطط لاستخدام KVM في وقت لاحق عبر libvirt.
تحميل AutomatedLab
هناك خياران لتثبيت AutomatedLab:
- يمكنك استخدام مثبت MSI المنشور على GitHub.
- أو يمكنك التثبيت من PowerShell Gallery باستخدام الأمر cmdlet Install-Module. يرجى الرجوع إلى wiki للحصول على بعض التفاصيل.
المنتجات المدعومة
يدعم هذا الحل إعداد الأجهزة الافتراضية مع المنتجات التالية
- Windows 7, 2008 R2, 8 / 8.1 and 2012 / 2012 R2, 10 / 2016, 2019, 2022
- SQL Server 2012, 2014, 2016, 2017, 2019, 2022
- Visual Studio 2012, 2013, 2015
- Team Foundation Services 2018, Azure DevOps Server
- Exchange 2013, 2016, 2019
- System Center Orchestrator 2012
- System Center Operations Manager 2019
- System Center Service Manager 2019
- Microsoft Endpoint Manager Configuration Manager 1902 (and newer)
- MDT
- ProGet (Private PowerShell Gallery)
- Office 2013, 2016, 2019
- DSC Pull Server (with SQL Reporting)
- Dynamics 365
- Remote Desktop Services including HTML5 web client
قائمة الميزات
- تجعل AutomatedLab (AL) إعداد المختبرات سهلاً للغاية. إعداد مختبر بجهاز واحد فقط يتطلب 3 أسطر فقط. وحتى المختبرات المعقدة يمكن تعريفها بحوالي 100 سطر (انظر البرامج النصية النموذجية).
- يمكن توصيل المختبرات على Azure ببعضها البعض أو توصيلها بمختبر Hyper-V باستخدام أمر واحد.
- يمكن استخدام AL لإعداد سيناريوهات لعرض PowerShell Gallery باستخدام Inedo ProGet، سيناريوهات خادم سحب PowerShell DSC، ADFS أو مختبر مع 3 غابات Active Directory تثق ببعضها البعض.
- إنشاء واستعادة وإزالة لقطات لبعض أو كل أجهزة المختبر باستخدام cmdlet واحد (Checkpoint-LabVM، Restore-LabVMSnapshot، Remove-LabVMSnapshot).
- تثبيت ميزات ويندوز على جهاز واحد أو بعض أو كل أجهزة المختبر بسطر واحد من التعليمات البرمجية (Install-LabWindowsFeature).
- تثبيت البرامج على مجموعة من أجهزة المختبر باستخدام cmdlet واحد فقط (Install-LabSoftwarePackages). تحتاج فقط إلى معرفة الوسيطة لجعل MSI أو EXE يدخل في وضع التثبيت الصامت. يمكن أن يعمل هذا أيضًا بالتوازي بفضل سير عمل PowerShell.
- تشغيل أي نشاط مخصص (Script أو ScriptBlock) على عدد من أجهزة المختبر (Invoke-LabCommand). لا داعي للقلق بشأن بيانات الاعتماد أو مشكلات المصادقة المزدوجة حيث أن CredSsp ممكّن دائمًا ويمكن استخدامه مع مفتاح UseCredSsp.
- لم يكن إنشاء بيئة افتراضية متصلة بالإنترنت أسهل من قبل. المتطلبات الوحيدة هي تعريف محول افتراضي مواجه للخارج وجهاز ببطاقتي شبكة يعمل كموجه. تتولى AL جميع تفاصيل التكوين مثل تعيين البوابة على جميع الأجهزة وإعدادات DNS أيضًا (انظر البرنامج النصي التمهيدي 05 Single domain-joined server (internet facing).ps1).
البناء المحلي
بينما نقوم بشكل متكرر بإصدار إصدارات أولية إلى PowerShell Gallery، قد تكون مهتمًا ببناء الوحدة بأكملها محليًا بنفسك.
بينما تظل الخطوات كما هي، تختلف المتطلبات الأساسية قليلاً على ويندوز ولينكس
ويندوز:
- مثبت مطلوب؟ يجب تثبيت أهداف WiX 3 بشكل صحيح (!)
- .NET SDKs 4.6.2 (الاستهداف) و6.0+
لينكس:
- .NET 6.0+
بعد استيفاء المتطلبات الأساسية، يمكنك استخدام .build/StartLocalBuild.ps1 لتشغيل بناء محلي في جلسة PowerShell جديدة لا تحتوي بالفعل على AutomatedLab مستوردًا. نحن نقوم بتحميل مكتبة، لذا لن يعمل استيراد إصدار مكتبة مختلف. إذا كنت ترغب في تخطي التحقق من Pester، فحدد المعامل SkipValidation. لبناء المثبت، استخدم المعامل BuildInstaller.
تشغيل البناء المحلي يقوم أيضًا بتحديث مسار الوحدة الخاصة بك، بحيث تستخدم مباشرة الوحدات التي بنيتها حديثًا.
النتيجة هي مجلد publish يحتوي على جميع وحدات AutomatedLab، بينما يحتوي requiredmodules على جميع الوحدات المطلوبة.