jborean93.win_chocolatey_server
Rola Ansible win_chocolatey_server
Instaluje Chocolatey Server na hoście Windows.
Uwaga: Ta rola została przetestowana na wersji chocolatey.server 0.2.5, nowsze wersje powinny działać, ale nie jest to gwarantowane.
Z domyślnymi ustawieniami ta rola:
- Zainstaluje pakiet
chocolatey.server
doC:\tools\chocolatey.server
- Zainstaluje różne funkcje IIS wymagane dla Chocolatey server
- Utworzy pulę aplikacji IIS o nazwie
chocolatey_server_app_pool
- Utworzy witrynę IIS o nazwie
chocolatey_server_site
z powiązaniem http na porcie80
- Ustawienie reguły zapory, aby zezwolić na ruch na porcie
80
dla profilidomain
iprivate
Następujące opcje można także skonfigurować w ramach roli, ale wymagają one ustawienia dodatkowych zmiennych:
- Ustawienie tokenu API dla Chocolatey server
- Określenie użytkowników i ich skrótów haseł SHA1 w ramach podstawowej autoryzacji
- Utworzenie powiązania HTTPS dla witryny z istniejącym certyfikatem lub certyfikatem podpisanym samodzielnie
- Określenie ścieżki lub URL pakietu
chocolatey
do skonfigurowania skryptuinstall.ps1
serwera - Określenie maksymalnego dozwolonego rozmiaru pakietu na serwerze
Chciałbym podziękować kkolk za doskonały wpis na blogu, który pomógł mi napisać tę rolę. Możesz przeczytać post tutaj.
Aby dodać nowe pakiety do instalacji Chocolatey server, skopiuj plik .nupkg do
{{ opt_chocolatey_server_path }}\chocolatey.server\App_Data\Packages
, a serwer zlokalizuje ten plik.
Uwaga: Najpierw musisz aktywować obserwatora plików, przechodząc do http://server/chocolatey/Packages
przynajmniej raz, gdy pula IIS jest już uruchomiona. Każde ponowne uruchomienie puli wymaga ponownego wykonania tej czynności, zanim jakiekolwiek pakiety zostaną zlokalizowane w tym katalogu.
Wymagania
- Windows Server 2008 R2+
- Klient Chocolatey musi być zainstalowany na zdalnym hoście, jeśli zdalny host nie ma dostępu do internetu
Zmienne
Zmienne obowiązkowe
Brak, ta rola będzie działać z domyślnie ustawionymi opcjami.
Zmienne opcjonalne
opt_chocolatey_server_api_token
: Token/klucz API używany podczas przesyłania nowych pakietów na serwer. Jeśli nie zostanie określony, zostanie użyty domyślny token z pakietuchocolatey.server
.opt_chocolatey_server_credentials
: Słownik nazw użytkowników i skrótów haseł do użycia jako dane uwierzytelniające w ramach podstawowej autoryzacji. Kluczem jestusername
, a wartością jest skrót SHA1 hasła w formacie wielkich liter. Jeśli nie zostanie ustawione, podstawowa autoryzacja jest wyłączona, a dostęp anonimowy jest dozwolony.opt_chocolatey_server_firewall_profiles
: Profile zapory do użycia, które umożliwią dostęp do Chocolatey Server (domyślnie:domain,private
). Może to być kombinacjadomain
,private
i/lubpublic
.opt_chocolatey_server_http_port
: Port do użycia dla dostępu http (domyślnie:80
).opt_chocolatey_server_https_port
: Port do użycia dla dostępu https, domyślnie nie jest tworzone powiązanie https, chyba że to zostanie określone.opt_chocolatey_server_https_certificate
: Skrót certyfikatu do użycia dla powiązania HTTPS, jeśli nie zostanie określony.opt_chocolatey_server_max_package_size
: Maksymalny dozwolony rozmiar w bajtach pakietu, który może być przechowywany na serwerze (domyślnie:2147483648
).opt_chocolatey_server_path
: Katalog główny, do którego zainstalowany jest pakietchocolatey.server
(domyślnie:C:\tools
).opt_chocolatey_server_source
: Miejsce źródłowe pakietu chocolatey.server (domyślnie:https://chocolatey.org/api/v2/
). Może to być nazwa/URL repozytorium Nuget lub lokalna ścieżka zawierająca plik nupkg.
Aby skonfigurować serwer Chocolatey do tworzenia skryptu install.ps1
i źródłowego pliku instalacyjnego z repozytorium zamiast internetu, pobierz plik
chocolatey nupkg i ustaw jedną
z poniższych zmiennych, które wskazują na ten plik:
opt_chocolatey_server_chocolatey_path
: Ścieżka dostępna z zdalnego hosta do pliku nupkg Chocolatey.opt_chocolatey_server_chocolatey_url
: URL dostępny z zdalnego hosta do pliku nupkg Chocolatey.
Jeśli nie zostanie ustawiona żadna z tych wartości, skrypt install.ps1
z tego
serwera domyślnie użyje publicznego skryptu instalacyjnego z witryny Chocolatey.
Zmienne wyjściowe
Te zmienne są ustawiane jako fakty hosta za pomocą set_fact
podczas wykonywania.
Mogą być używane przez dowolne role lub zadania zstępujące dla tego hosta.
out_chocolatey_server_https_certificate
: Jeśli powiązanie https jest tworzone z certyfikatem podpisanym samodzielnie, jest to skrót certyfikatu utworzonego.
Zależności roli
Brak
Przykładowy plik odtwarzania
- name: instalacja Chocolatey Server z domyślnymi ustawieniami
hosts: windows
gather_facts: no
roles:
- jborean93.win_chocolatey_server
- name: konfiguracja Chocolatey z gniazdem HTTPS w niestandardowej ścieżce i włączenie podstawowej autoryzacji
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 }}'
build-team: '{{ build_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: wyjście skrótu certyfikatu używanego do powiązań HTTPS
debug:
var: out_chocolatey_server_https_certificate
Lista zadań
Brak - sugestie funkcji są mile widziane.
ansible-galaxy install jborean93.win_chocolatey_server