jborean93.win_chocolatey_server
Ansible Rolle win_chocolatey_server
Installiert Chocolatey Server auf einem Windows-Host.
Hinweis: Diese Rolle wurde mit chocolatey.server 0.2.5 getestet, neuere Versionen sollten funktionieren, aber das ist nicht garantiert.
Mit den Standardeinstellungen wird diese Rolle:
- Das Paket
chocolatey.server
nachC:\tools\chocolatey.server
installieren. - Verschiedene IIS-Funktionen installieren, die für den Chocolatey-Server erforderlich sind.
- Einen IIS-Anwendungs-Pool mit dem Namen
chocolatey_server_app_pool
erstellen. - Eine IIS-Website mit dem Namen
chocolatey_server_site
mit einer HTTP-Bindung auf Port80
erstellen. - Eine Firewall-Regel erstellen, um den Datenverkehr auf Port
80
für die Profiledomain
undprivate
zuzulassen.
Folgendes kann ebenfalls als Teil der Rolle konfiguriert werden, erfordert jedoch einige optionale Variablen:
- Einen API-Token für den Chocolatey-Server festlegen.
- Benutzer und deren SHA1-Passwort-Hash für die Basis-Authentifizierung angeben.
- Eine HTTPS-Bindung für die Site mit einem vorhandenen oder selbstsignierten Zertifikat erstellen.
- Den Pfad oder die URL des
chocolatey
-Pakets angeben, um dasinstall.ps1
-Skript des Servers zu konfigurieren. - Die maximale Paketgröße festlegen, die auf dem Server erlaubt ist.
Ich möchte kkolk für den hervorragenden Blog-Beitrag danken, der mir geholfen hat, diese Rolle zu schreiben. Sie können den Beitrag hier lesen.
Um neue Pakete auf dem Chocolatey-Server zu installieren, kopieren Sie die .nupkg-Datei nach
{{ opt_chocolatey_server_path }}\chocolatey.server\App_Data\Packages
, und der
Server wird die Datei erkennen.
Hinweis: Sie müssen zuerst den Dateiüberwacher aktivieren, indem Sie mindestens einmal über http://server/chocolatey/Packages
navigieren, bevor der IIS-App-Pool warm ist. Alle Neustarts des Pools erfordern, dass Sie dies erneut tun, bevor Pakete in diesem Verzeichnis erkannt werden.
Anforderungen
- Windows Server 2008 R2+
- Chocolatey-Client muss auf dem entfernten Host installiert sein, wenn der entfernte Host nicht auf das Internet zugreifen kann.
Variablen
Obligatorische Variablen
Keine, diese Rolle wird mit den Standardoptionen ausgeführt.
Optionale Variablen
opt_chocolatey_server_api_token
: Der API-Token/Schlüssel, der beim Hochladen neuer Pakete auf den Server verwendet wird. Wenn nicht angegeben, wird der Standardtoken deschocolatey.server
-Pakets verwendet.opt_chocolatey_server_credentials
: Wörterbuch von Benutzername und Passwort-Hashes, um die Basis-Authentifizierungsdaten anzugeben. Der Schlüssel ist derBenutzername
, während der Wert ein Großbuchstaben-SHA1-Hash desPassworts
ist. Wenn nicht gesetzt, ist die Basis-Authentifizierung deaktiviert und anonymer Zugriff ist erlaubt.opt_chocolatey_server_firewall_profiles
: Die Firewall-Profile, die verwendet werden, um den Zugriff auf den Chocolatey-Server zuzulassen (Standard:domain,private
). Dies kann eine Kombination ausdomain
,private
und/oderpublic
sein.opt_chocolatey_server_http_port
: Der Port, der für HTTP-Zugriff verwendet wird (Standard:80
).opt_chocolatey_server_https_port
: Der Port, der für HTTPS-Zugriff verwendet wird. Standardmäßig wird keine HTTPS-Bindung erstellt, es sei denn, dies wird angegeben.opt_chocolatey_server_https_certificate
: Der Zertifikat-Thumbprint, der für die HTTPS-Bindung verwendet wird. Wenn nicht angegeben, wird kein Zertifikat verwendet.opt_chocolatey_server_max_package_size
: Die maximale erlaubte Größe, in Bytes, eines Pakets, das auf dem Server gespeichert werden kann (Standard:2147483648
).opt_chocolatey_server_path
: Das Wurzelverzeichnis, in dem daschocolatey.server
-Paket installiert ist (Standard:C:\tools
).opt_chocolatey_server_source
: Der Speicherort des chocolatey.server-Pakets (Standard:https://chocolatey.org/api/v2/
). Dies kann der Name/URL eines Nuget-Repositorys oder ein lokaler Pfad sein, der die nupkg-Datei enthält.
Um den Chocolatey-Server so einzurichten, dass ein install.ps1
-Skript erstellt wird und die Installationsdatei aus dem Repository anstelle des Internets bezogen wird, laden Sie die
chocolatey nupkg-Datei herunter und setzen Sie eine der folgenden zwei Variablen, die auf diese Datei zeigen:
opt_chocolatey_server_chocolatey_path
: Der Pfad, der vom entfernten Host zum Chocolatey nupkg-Datei zugänglich ist.opt_chocolatey_server_chocolatey_url
: Die URL, die vom entfernten Host zur Chocolatey nupkg-Datei zugänglich ist.
Wenn keine dieser Werte gesetzt ist, verwendet das install.ps1
-Skript von diesem Server standardmäßig das öffentliche Installationsskript auf der Chocolatey-Website.
Ausgabewerte
Diese Variablen werden während der Ausführung als Host-Fakt mit set_fact
gesetzt.
Sie können von nachgelagerten Rollen oder Aufgaben für diesen Host verwendet werden.
out_chocolatey_server_https_certificate
: Wenn eine HTTPS-Bindung mit einem selbstsignierten Zertifikat erstellt wird, ist dies der Zertifikat-Hash des erstellten Zertifikats.
Rollen-Abhängigkeiten
Keine
Beispiel-Playbook
- name: Installiere Chocolatey Server mit den Standardeinstellungen
hosts: windows
gather_facts: no
roles:
- jborean93.win_chocolatey_server
- name: Richte Chocolatey mit HTTPS-Listener auf benutzerdefiniertem Pfad ein und aktiviere die Basis-Authentifizierung
hosts: windows
gather_facts: no
vars:
opt_chocolatey_server_api_token: eb82582c-2214-4ce9-9689-8c823ae33e45
opt_chocolatey_server_credentials:
build-team: '{{ build_team_pass | hash("sha1") | upper }}'
test-team: '{{ test_team_pass | hash("sha1") | upper }}'
opt_chocolatey_server_http_port: 8080
opt_chocolatey_server_https_port: 8443
opt_chocolatey_server_path: D:\tools
opt_chocolatey_server_chocolatey_url: https://internalrepo.domain/chocolatey.0.10.11.nupkg
roles:
- jborean93.win_chocolatey_server
post_tasks:
- name: Ausgabe des Zertifikat-Hashes, der für die HTTPS-Bindungen verwendet wurde
debug:
var: out_chocolatey_server_https_certificate
Rückstand
Keine - Funktionsanfragen sind Willkommen.
ansible-galaxy install jborean93.win_chocolatey_server