Automatisieren von PowerShell-Modulen mit Chocolatey-Paketen

In diesem Blogbeitrag erfahren Sie, wie Sie ein Chocolatey-Paket erstellen (ein beliebter Windows-Paketmanager).

Da Automatisierung immer mehr zur Notwendigkeit wird, anstatt nur ein nettes Extra zu sein, ist es wichtig, dass wir IT-Leute uns bessere Möglichkeiten anschauen, um lästige Aufgaben zu erledigen. Eine dieser Aufgaben ist die Installation von Software. Anstatt eine MSI-Datei herunterzuladen, darauf zu doppelklicken und den Assistenten durchzuführen, wäre es ratsam, über eine bessere Methode nachzudenken.

Nahezu jede Software verfügt über Befehlszeilenoptionen für eine lautlose Installation. Wenn Sie genügend Recherchen durchführen, können Sie herausfinden, welche Optionen die richtigen sind. Ihre Installation könnte dann so aussehen:

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

Werden Sie sich all diese Optionen merken können? Wahrscheinlich nicht. Sie könnten diese Optionen in eine Batch-Datei einfügen und dann vergessen, wo Sie dieses Skript abgelegt haben oder Sie könnten Folgendes tun:

Install-Package -Name AcmeSoftware

Das ist etwas, woran man sich leicht erinnern kann.

Aber wie kommen Sie zu diesem Punkt? Die Antwort ist ein NuGet-Repository und ein NuGet-Paket. NuGet ist eine traditionelle Softwareverpackungstechnologie, mit der Sie praktisch eine Software zusammenfassen können, die dann in einem Repository gespeichert, heruntergeladen und nach Bedarf installiert werden kann. Chocolatey ist ein beliebtes Open-Source-Tool, das NuGet verwendet, um IT-Administratoren das Herunterladen und lautlose Installieren von Software zu ermöglichen.

In diesem Artikel gehe ich davon aus, dass Sie bereits ein NuGet-Repository eingerichtet haben oder wissen, wohin Sie Ihr Paket senden möchten.

Lassen Sie uns ein Stück Software nehmen und es in ein NuGet-Paket verpacken, um es in einem dieser Repositories zu verwenden.

Installation von Chocolatey

Da Chocolatey nicht standardmäßig auf einem Windows-Betriebssystem installiert ist, muss es heruntergeladen und installiert werden. Dies kann durch Ausführen des folgenden Befehls in einer PowerShell-Konsole geschehen:

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

Erstellen einer NUSPEC-Datei

Um ein Chocolatey-Paket zu erstellen, müssen Sie zunächst eine NUSPEC-Datei erstellen. Eine NUSPEC-Datei ist ein XML-Paketmanifest, das den Paketinhalt beschreibt. Diese NUSPEC-Datei muss in einem bestimmten Format sein. Hier ist eine Beispieldatei, die nur die erforderlichen Elemente enthält:

<?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>

Für eine vollständige Übersicht aller verwendbaren Tags siehe die NUSPEC-Referenz.

Wie man ein Chocolatey-Paket erstellt

Als nächstes erstellen wir das Paket. Dazu verwenden wir den Befehl Install-ChocolateyInstallPackage. Nehmen wir an, die Software, die wir verpacken, ist eine EXE-Datei und die Schalter zum geräuschlosen Installieren sind /s. Wir müssen den Dateispeicherort zusammen mit den geräuschlosen Schaltern an den Befehl übergeben.

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

Dieser Befehl erstellt das Paket. Als nächstes müssen wir das Paket mit Hilfe von choco exe verpacken.

PS> choco pack

Sobald die Software verpackt wurde, kann sie in einem Format vorliegen, das zum Veröffentlichen in einem Chocolatey-Repository Ihrer Wahl geeignet ist.

Zusammenfassung

Dieser Vorgang kann für jede Software wiederholt werden, die Sie über Chocolatey bereitstellen möchten. Wie Sie sehen können, sind nur wenige zusätzliche Schritte erforderlich, um die Software „Chocolatey-bereit“ zu machen. Indem Sie dies jetzt tun, können Sie sich wieder auf wichtige Aufgaben konzentrieren, anstatt herauszufinden, wie Sie Software auf eine Vielzahl von Maschinen gleichzeitig bereitstellen können!

Wenn Sie nach dem Erlernen der Erstellung von Chocolatey-Paketen weitere Informationen wünschen, sollten Sie sich die Chocolatey-Dokumentation ansehen.

Learning How to Create Chocolatey Package

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