إذا كنت قد قمت بإدارة خوادم Windows لفترة طويلة، فمن المؤكد أن لديك الكثير من نصوص PowerShell لأداء تلك المهام المملة ولكن الضرورية التي تقوم بها بانتظام مثل إعادة تعيين كلمات المرور، وجمع بيانات السجل، أو أرشفة ملفات النسخ الاحتياطي. هل تعلم أن PowerShell في Jenkins أمر؟
قد تكون لديك نصوص تقوم بتشغيلها بانتظام، وربما قمت حتى بإعداد حدث في مجدول المهام في محاولة لأتمتة نصوص PowerShell الخاصة بك.
هناك طريقة أفضل.
في هذه المقالة، ستتعلم كيفية تثبيت Jenkins على نظام Windows وتشغيل نص PowerShell بسيط. ستتعلم كيفية تثبيت Jenkins، إعداد الأمان الأساسي، تمكين ملحق PowerShell، وتشغيل مهمة لإنشاء ملف نصي بسيط مع معلمات سنقوم بإدخالها.
تهدف هذه المقالة إلى أن تكون مقدمة أساسية لـ Jenkins. الإعداد الذي ستتعلمه ليس بالضرورة مخصصًا لبيئات الإنتاج.
المتطلبات المسبقة
سيكون معظم هذه المقالة إرشادًا تفصيليًا. إذا كنت تنوي متابعة الشرح، تأكد من توفر بعض المتطلبات المسبقة.
متطلبات تشغيل Jenkins بسيطة للغاية، يمكن لأي كمبيوتر حديث أن يتعامل معها. ستكون جميع الأمثلة في هذه المقالة مبنية على تشغيل Jenkins على:
- Windows 10 Enterprise v.1903
- PowerShell Core v6
على الرغم من أن جينكينز يمكن تشغيله على أي منصة تقريبًا، سأركز على Windows 10 Enterprise للحفاظ على الأمور بسيطة.
تثبيت جينكينز
مع التأكد من توفر المتطلبات الأساسية، دعنا نقوم بتثبيت جينكينز.
تثبيت جينكينز سهل وبسيط. قم بالانتقال إلى https://www.jenkins.io/download/ وقم بتنزيل الإصدار طويل الأمد (LTS). هناك نسختان متاحتان، الإصدار طويل الأمد والإصدار الأسبوعي. الإصدار الأسبوعي يتم تحديثه بشكل منتظم وقد يكون غير مستقر. في هذه المقالة نستخدم الإصدار طويل الأمد. هذا هو الإصدار الأكثر استقرارًا.
كما يمكنك رؤية من الصورة أدناه، هناك عدة خيارات للاختيار من بينها. حدد إصدار Windows لبدء التنزيل.

بمجرد تنزيل المثبت، استخرج ملف الأرشيف المضغوط وقم بتشغيل المثبت مع قبول جميع الإعدادات الافتراضية. التثبيت سهل.
بمجرد اكتمال التثبيت، ستقوم جينكينز بفتح متصفح وعرض صفحة البدء. تحتوي هذه الصفحة على كلمة مرور المسؤول الأولية لفتح جينكينز ومتابعة عملية التكوين. كما يمكنك أن ترى من الصورة أدناه، تخبرني جينكينز بقراءة ملف نصي في المسار C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword.

انتقل إلى الملف المعروض وافتحه، ثم انسخ كلمة المرور المعروضة واستخدمها ككلمة مرور المسؤول على صفحة البدء.
تثبيت المكونات الإضافية
بمجرد تسجيل الدخول للمرة الأولى، سينهي جينكنز الإعداد النهائي ثم يطلب تثبيت الإضافات. هناك خياران كما يمكنك رؤيتهما في الصورة أدناه.
اختيار تثبيت الإضافات المقترحة سيقوم بتثبيت مجموعة الإضافات الموصى بها استنادًا إلى السيناريوهات الاستخدام الشائعة. تشمل هذه الإضافات موفرات المصادقة والتفاعل مع GitHub وتوسيعات Java. اختيار الإضافة للتثبيت يتيح لك تثبيت الإضافات المطلوبة فقط من قائمة الإضافات المتاحة بالكامل.
قم بتعليم تثبيت الإضافات المقترحة وانقر على موافق. قد يستغرق هذا العملية بضع دقائق لتثبيت الإضافات الأولية، لذلك الآن هو وقت مناسب لتحضير بعض القهوة.

إنشاء مستخدم المسؤول
بمجرد تثبيت الإضافات، يأتي الخطوة التالية في إنشاء أول مستخدم لدينا. يعتبر هذا المستخدم الأول مسؤول جينكنز وسيحصل على أذونات عالمية، تمامًا مثل المسؤول المؤسسي لخادم Windows. يمكنك رؤية كيف ستبدو صفحة إنشاء أول مستخدم مسؤول أدناه.

من هذه النقطة فصاعدًا، يمكن الوصول إلى واجهة جينكنز فقط عن طريق إدخال اسم مستخدم وكلمة مرور صحيحة.
ضبط عنوان URL للمسؤول في جينكنز
الخطوة الأخيرة هي إعداد عنوان URL لخدمة جينكنز للتشغيل عليها. يعد هذا العنوان URL واجهة لإدارة برنامج جينكنز ويفضل أن يتم ضبطه على اسم نطاق مؤهل بالكامل (FQDN). يتيح ضبطه على FQDN الوصول عن بُعد تمامًا كموقع ويب. لهذه المقالة ولتبسيط الأمور، قبل العنوان URL الافتراضي.

إعداد الأمان
بعد الانتهاء من التثبيت ، لنقم بتكوين المصادقة. انتقل إلى لوحة التحكم الرئيسية إذا لم تكن مفتوحة بالفعل. من اللوحة الرئيسية ، انقر على إدارة جنكينز ثم انقر على تكوين الأمان العالمي لفتح إعدادات الأمان كما هو مبين أدناه.

في صفحة تكوين الأمان العالمي ، سترى بعض الخيارات للاختيار من بينها. في هذه المقالة ، سنستخدم قاعدة بيانات المستخدم الخاصة بـ جنكينز لإبقاء الأمور بسيطة. كما أنه من الجيد أن نلغي تحديد خانة السماح للمستخدم بالتسجيل كما هو مبين أدناه. إذا تم التحقق منها ، سيسمح لأي مستخدم بإنشاء حساب ومنح نفسه الوصول إلى جنكينز. .
نظرًا للصورة الملتقطة أدناه ، هناك خيارات أخرى للمصادقة.
- تفويض إلى حاوية خدمة الويب – يتم استخدام هذا إذا كانت لديك حاويات دوكر مع جنكينز معدة بالفعل ويسمح بالمصادقة من خلال الحاوية.
- LDAP – يتم استخدام هذا الخيار عندما يكون لديك Active Directory بالفعل ترغب في استخدامه للمصادقة
بعد ذلك ، اختر خيار يمكن للمستخدمين المسجلين القيام بأي شيء. في هذا الوضع ، سيحصل كل مستخدم مسجل على التحكم الكامل في جنكينز. قد لا يكون هذا فكرة جيدة للإنتاج حيث يسمح ذلك لأي مستخدم بإجراء تغييرات على الإعدادات.

تمكين برنامج إضافة PowerShell في جنكينز
بعد إعداد الأمان الأساسي ، حان الوقت لتكوين برنامج إضافة PowerShell في جنكينز. لتثبيت برنامج PowerShell ، انتقل إلى اللوحة الرئيسية ، وانقر على إدارة جنكينز ، ثم إدارة البرامج الإضافية كما هو مبين أدناه.

هناك المئات من الإضافات لذا أفضل طريقة للعثور على إضافة PowerShell هي البحث عنها. في شريط التصفية ، أدخِل “PowerShell” واختره من القائمة. تحقق من الخانة كما هو موضح أدناه لتمكينها. سيتيح ذلك لـ Jenkins كتابة أوامر PowerShell وسكربتاتها مباشرة في مربعات النص داخل Jenkins ويسمح لـ Jenkins باستدعاء PowerShell بدون الحاجة إلى بدء سطر أوامر PowerShell منفصل.
يمكنك أن ترى أدناه كيف يمكن أن يبدو هذا.

مع تمكين الإضافة ، يكون Jenkins جاهزًا لتشغيل مهام PowerShell.
إنشاء مهمة PowerShell في Jenkins
تم استكمال تثبيت إضافة PowerShell في Jenkins. وها هي الأشياء الممتعة. دعونا ننشئ مهمة.
في Jenkins ، يتم تعريف المهمة كسلسلة من المهام لإكمالها. سينشئ سيناريو شائع مهمة ستبدأ فيه تجميع برنامج عندما يقوم المطور بتسجيل الشيفرة. تشبه إلى حد كبير مدير المهام في خادم Windows.
سيتم إعداد المهمة التي سننشئها للتحقق من وجود دليل c: \ temp وإدراج ملف نصي في هذا الدليل مع رسالة مخصصة.
لدى Jenkins أنواع مشاريع مختلفة ، يُطلق عليها أحيانًا أنابيب ، والتي تركز على أهداف محددة. ستحتوي أنواع المشاريع المختلفة على إعدادات وخيارات ومعلمات مختلفة اعتمادًا على نوع المشروع الذي تختاره. يمكنك العثور على مزيد من المعلومات حول أنواع المشاريع ومتى يتعين استخدامها على موقع Jenkins.
من لوحة التحكم الرئيسية، انقر فوق عنصر جديد. لاسم الوظيفة، أدخل إنشاء ملف نصي. هذا اختياري ولكن من الجيد تسميته بشيء يعطي معنى.
في هذه المقالة، سنستخدم مشروع Freestyle. هذا يوفر أكبر قدر من المرونة في إنشاء الوظيفة. قم بتحديد مشروع Freestyle وانتقل إلى الأسفل ثم انقر فوق موافق.

سيكون هذا المشروع مشروعًا ذي معلمة. وهذا يعني أننا يمكننا أن نطلب من المستخدمين إدخال بيانات وسيتم تمرير تلك البيانات إلى الوظيفة. على سبيل المثال، دعونا نقول لدينا مشروع PowerShell في وظيفة Jenkins يقوم بنسخ ملفات السجل إلى دليل محدد. يمكننا إضافة نموذج إلى الوظيفة سيسأل عن اسم الملف لتضمينه في البناء عند تشغيل الوظيفة.
حدد هذا المشروع يحتوي على معلمات من القائمة المنسدلة. انقر فوق إضافة معلمة واختر معلمة السلسلة. معلمة السلسلة هو المكان الذي تدخل فيه الرسالة التي ترغب في تضمينها في ملف النص.

ثم أضف معلمة اختيار. يجب أن يبدو مثل صورة الشاشة أدناه. هذا الخيار سيمنح المستخدم خيارات لتحديد عنصر من القائمة المنسدلة.

يجب أن تكون إعدادات الوظيفة تبدو مشابهة للصورة الملتقطة أدناه.

انتقل إلى القسم Build. انقر على السهم الصغير واختر Windows PowerShell. يتيح هذا لـ Jenkins معرفة أننا نقوم بتشغيل نص برمجة PowerShell. هنا أيضًا ندخل النص البرمجي بـ PowerShell. العملية جاهزة الآن. انقر على حفظ.

للحصول على نص برمجة عينة لوظيفة PowerShell في Jenkins، دعنا نقوم بإنشاء ملف في دليل temp ونضيف رسالة بسيطة.
هذا هو نص برمجي بسيط سيقوم بإنشاء دليل temp تحت الجذر، إذا لم يكن موجودًا بالفعل، وإنشاء ملف نصي في ذلك الدليل.
نصيحة: قم بكتابة النص البرمجي في VSCode أو محرر آخر ثم قم بلصقه في المربع.
تشغيل وظيفة PowerShell في Jenkins
أخيرًا، أنت الآن جاهز لتشغيل أول وظيفة. دعنا نعود إلى لوحة المعلومات الرئيسية وسترى وظيفة Create Text File مدرجة في لوحة المعلومات الرئيسية. راجع الصورة أدناه.

انقر على أيقونة الساعة في الزاوية اليمنى البعيدة واعرض نموذج الوظيفة.

في مربع الرسالة، أدخل النص الذي ترغب في إدراجه في الملف النصي وانقر على بناء. بمجرد اكتمال البناء، انقر على إخراج الوحدة. إخراج الوحدة يعرض حالة الوظيفة وما إذا كان تشغيل الوظيفة ناجحًا.

الآن كل ما تبقى للقيام به هو فتح مدير الملفات وفحص الملف. انتقل إلى دليل temp وافتح الملف النصي. سيحتوي على نفس النص الذي أدخلته في مربع رسالة البناء.

ملخص
لديك الآن فهم أساسي لـ PowerShell في Jenkins. إنه أداة قوية يمكن استخدامها لإدارة نصوص PowerShell الخاصة بك وتحقيق التشغيل التلقائي لجميع العمليات!