אוטומטית PowerShell מודולים עם חבילות Chocolatey

בפוסט הבלוג הזה, למד איך ליצור חבילת Chocolatey (מנהל אריזה פופולרי עבור Windows).

כשאוטומציה משתלשלת להיות יותר מכחובה ופחות מנעימה, חשוב שאנו, אנשי התקשורת, נחפש דרכים טובות יותר לבצע משימות יומיומיות; ואחת מהמשימות האלו היא התקנת תוכנה. במקום להוריד MSI, ללחוץ פעמיים עליו ולעבור דרך האשף, זה יהיה לרוע עליך לחשוב על דרך טובה יותר.

כמעט כל תוכנה מגיעה עם מתגי שורת פקודה להתקנה באופן שקט, ואם תבצע מספיק מחקר, ייתכן שתגלה את המתגים הנכונים. אז ההתקנה שלך יכולה להיראות כמו זו:

> install.exe /q /n /e /noreboot

האם תזכור את כל המתגים האלו? כנראה לא. תוכל לשים את המתגים האלו בקובץ הפקודות ולשכוח איפה שמתג את הסקריפט הזה או אתה יכול לעשות זאת:

Install-Package -Name AcmeSoftware

עכשיו זה משהו שניתן לזכור בקלות.

אך איך תגיע לנקודה זו? התשובה היא במאגר NuGet ובחבילת NuGet. NuGet הוא טכנולוגיית אריזה תוכנה מסורתית שמאפשרת לך לארוז בצורה בסך הכול תוכנה שאז ניתן לאחסן במאגר, להוריד ולהתקין לפי רצונך. Chocolatey הוא כלי קוד פתוח מועדף שמשתמש ב- NuGet כדי לאפשר למנהלי מערכות להוריד ולהתקין תוכנות באופן שקט.

במאמר זה, אני מניח שכבר הגדרת מאגר NuGet או שאתה יודע לאן אתה שולח את החבילה שלך.

בואו ניקח תוכנה ונעטוף אותה בחבילת NuGet לשימוש באחד ממאגרי השמירה הללו.

התקנת Chocolatey

מאחר ו-Chocolatey אינו מותקן כברירת מחדל במערכת הפעלה של Windows, עלינו להוריד ולהתקין אותו. ניתן להוריד ולהתקין אותו על ידי הרצת הפקודה הבאה בקונסולת PowerShell:

PS> iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

יצירת קובץ NUSPEC

כדי ליצור חבילת Chocolatey, עלינו תחילה ליצור קובץ NUSPEC. קובץ NUSPEC הוא מפתח חבילה מסוג XML המתאר את תוכן החבילה. קובץ NUSPEC זה חייב להיות בתבנית מסוימת. הנה דוגמה לקובץ NUSPEC המשתמשת רק ברכיבים הנדרשים:

<?xml version="1.0" encoding="utf-8"?>
    <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
      <metadata>
        <id>MySpecialSoftware</id>
        <version>1.0</version>
        <description>Some software I'm packaging up.</description>
        <authors>Adam Bertram</authors>
      </metadata>
    </package>

למידע מפורט על כל התגיות שניתן להשתמש בהן, יש לעיין ב־מסמך התייחסות ל-NUSPEC.

איך ליצור חבילת Chocolatey

השלב הבא הוא יצירת החבילה. לכך, אנו משתמשים בפקודת Install-ChocolateyInstallPackage. נניח שהתוכנה שאנו מכניסים לחבילה היא קובץ EXE וההגדרות להתקנה בשקט הן /s. עלינו לשלוח את מיקום הקובץ יחד עם ההגדרות לפקודה.

PS> Install-ChocolateyPackage -PackageName 'AcmeSoftware' -FileType 'exe' -File 'C:\install.exe' -SilentArgs '/s'

פקודה זו תיצור את החבילה. לאחר מכן, עלינו לארוז את החבילה בעזרת ה־choco exe.

PS> choco pack

לאחר שהתוכנה אורזה בחבילה, היא כעת בפורמט שאפשר לפרסם באחד ממאגרי Chocolatey הנבחרים שלכם.

סיכום

תהליך זה ניתן לחזור עליו לכל תוכנה שתרצה להתקין דרך Chocolatey. כפי שאתה יכול לראות, יש רק מספר צעדים נוספים שחייבים לקחת מקום כדי להפוך את התוכנה ל"מוכנה ל־Chocolatey". על ידי עשיית זאת עכשיו, אתה מקבל את האפשרות לחזור לביצוע משימות שחשובות במקום להתעסק באיך להתקין תוכנה לקבוצה של מכונות בו זמנית!

אם אתה רוצה ללכת לעומק נוסף לאחר שלמדת איך ליצור חבילות Chocolatey, הקפד לבדוק את מסמכי Chocolatey.

Learning How to Create Chocolatey Package

Source:
https://adamtheautomator.com/create-chocolatey-package/