Sergey Nivens - Fotolia
Automatisierte Softwarebereitstellung mit Chocolatey und PowerShell
Die Bereitstellung von Software ist ein immer wiederkehrender Prozess. Mit Chocolatey und ein paar PowerShell-Befehlen lässt sich dies automatisieren.
Die Softwarebereitstellung auf Windows Server ist eine langweilige, aber immer wieder notwendige Aufgabe. Administratoren können diesen Vorgang aber über den kostenfreien Paket-Manager NuGet und den Paket-Provider Chocolatey automatisieren.
Chocolatey nutzt NuGet, um unterschiedlichste Softwarepakete verpacken und verteilen zu können. Über die folgende PowerShell-Eingabe kann Chocolatey verwendet werden, um hunderte unterschiedlicher Softwarepakete zu verteilen:
Install-Package <Software>
Zunächst muss Chocolatey aber natürlich installiert werden. Hierfür öffnet man einfach die PowerShell und führt den folgenden Befehl aus, um ein PowerShell-Skript von Chocolatey herunterzuladen und auszuführen:
iex ((New-Object
System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Nach der Installation von Chocolatey kann der Befehl choco verwendet werden, um Softwarepakete zu finden, zu untersuchen oder herunterzuladen. Im folgenden Beispiel wollen wir das Utility 7-Zip auf einem Windows Server installieren. Über den folgenden Befehl kann nach der Software gesucht werden:
choco search 7-Zip
Mit Blick auf die Ergebnisse in Abbildung 2 soll nun das Paket 7zip 16.02.0.20160811 installiert werden. Hierfür wird der Paketname lediglich dem Befehl choco install angehängt, und schon beginnen Download und Installation.
Abbildung 3 zeigt die Eingabeaufforderung, über die Administratoren die Installation bestätigen müssen. Alternativ kann diese Warnung über den Schalter –y auch unterbunden werden.
Wenn Software und Programme deinstalliert werden sollen, die zuvor mit Chocolatey installiert wurden, dann kann dies statt über Programme und Features auch über den Parameter uninstall direkt über Chocolatey erfolgen.
In Abbildung 4 ist zu sehen, wie auch der Deinstallationsprozess eine Eingabeaufforderung auslöst. Falls der Autor eines Pakets keine automatische Deinstallationsfunktion integriert, müssen Administratoren die Deinstallation manuell bestätigen.
Falls ein Paket keine automatische Deinstallationsfunktion enthält, so könnte man auch ein eigenes Chocolatey-Paket erstellen und nach den eigenen Bedürfnissen anpassen.
Suchanfragen über choco search liefern meist unterschiedliche Pakete, die aus der Community kommen. Wenn Unternehmen keine öffentlichen, also nicht-vertrauenswürdigen Pakete nutzen wollen, so können auch eigene interne Repositories für Chocolatey aufgebaut werden, die geprüft oder selbst erstellt werden können. So oder so ist der Vorgang der gleiche: Über den Parameter –source kann das Quell-Repository angegeben werden:
choco 7zip -source myinternalfeed.company.local
Mit Chocolatey können also Softwarebereitstellungen und Deinstallationen mit wenigen Zeilen PowerShell-Code automatisiert werden, was für Windows-Server-Admins eine große Zeitersparnis bedeutet. Neben der schnelleren Installation und Deinstallation reduzieren Chocolatey und andere NuGet-basierte Paket-Management-Tools aber vor allem auch das Fehlerrisiko bei der Softwarebereitstellung.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!