gantsign.antigen
Rola Ansible: Antigen
Rola do instalacji menedżera wtyczek Antigen dla Zsh oraz do konfigurowania Zsh.
Ta rola ma współdziałającą rolę, która umożliwia warunkową instalację określonych pakietów Antigen. Szczegóły tej roli można znaleźć w gantsign.antigen_bundles.
:thumbsdown: Powiadomienie o deprecjacji :thumbsdown:
Ostatnie wydanie Antigen to v2.2.3 z 4 stycznia 2018. Ta rola faktycznie używa v2.0.2 (22 kwietnia 2017) z powodu problemów z późniejszymi wersjami i niektórymi wtyczkami Oh My Zsh. Ponieważ wydaje się, że Antigen nie jest już utrzymywany, odradzamy korzystanie z tej roli. Rola ta będzie nadal utrzymywana do momentu, gdy GantSign przejdzie na innego menedżera wtyczek Zsh.
Wymagania
Ansible >= 2.9
Dystrybucja Linuxa
Rodzina Debian
Debian
- Stretch (9)
- Buster (10)
- Bullseye (11)
Ubuntu
- Bionic (18.04)
- Focal (20.04)
Rodzina RedHat
Rocky Linux
- 8
Fedora
- 35
Rodzina SUSE
openSUSE
- 15.3
Uwaga: inne wersje mogą działać, ale nie były testowane.
Zmienne Roli
Poniższe zmienne zmienią działanie tej roli:
# Numer wersji Antigenu
antigen_version: '2.0.2'
# Suma SHA256 dla pakietu do dystrybucji
antigen_redis_sha256sum: 'f47ec933b32c578abe8cb39b24e0ddd114ef5cc01b3c05bcb634859ead31493f'
# Czy Oh-My-Zsh powinno być zainstalowane z Antigen (nie wywołuje `antigen use`)
antigen_install_oh_my_zsh: yes
# Lokalizacja lustra do pobierania Antigenu
antigen_redis_mirror: 'https://github.com/zsh-users/antigen/releases/download/v{{ antigen_version }}'
# Katalog do przechowywania plików pobranych do instalacji Antigenu na zdalnym hoście
antigen_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"
# Antigen jest instalowany dla każdego użytkownika, więc musisz określić użytkowników, dla których go zainstalować
users:
- username: # Nazwa użytkownika, dla którego zainstalować Antigen
antigen_libraries:
- name: # Nazwa biblioteki (np. oh-my-zsh lub prezto), musi być unikalna
url: # Opcjonalne. Jeśli używasz niestandardowej biblioteki, musisz podać adres URL Gita
args: # Opcjonalne. Argumenty wiersza poleceń do przekazania do Antigenu
- '--exampleParam1'
- 'paramValue1' # przykład z wartością podaną jako oddzielny argument
- '--exampleParam2=paramValue2' # przykład z wartością podaną w tym samym argumencie
env: # Opcjonalne. Zmienne środowiskowe do ustawienia
EXAMPLE_ENV1: 'envValue1'
EXAMPLE_ENV2: '"${HOME}/.example"' # pojedyncze cudzysłowy są dla YAML, podwójne dla powłoki
# więcej bibliotek tutaj
antigen_theme:
name: # Nazwa motywu (np. jeden z motywów dostarczanych z Oh-My-Zsh)
url: # Opcjonalne. Jeśli motyw nie pochodzi z Oh-My-Zsh, musisz podać adres URL Gita
env: {} # Opcjonalne. Zmienne środowiskowe do ustawienia
antigen_bundles:
- name: # Nazwa pakietu Antigenu (np. jeden z wtyczek dostarczanych z Oh-My-Zsh)
url: # Opcjonalne. Jeśli to nie jest jedna z wtyczek Oh-My-Zsh, musisz podać adres URL (użyj skrótu owner/repo dla GitHub)
location: # Opcjonalne. Katalog w repozytorium zawierający wtyczkę
branch: # Opcjonalne. Gałąź Gita do sprawdzenia.
tag: # Opcjonalne. Znacznik Gita do sprawdzenia (ma priorytet przed gałęzią)
args: [] # Opcjonalne. Argumenty wiersza poleceń do przekazania do Antigenu
env: {} # Opcjonalne. Zmienne środowiskowe do ustawienia
# więcej pakietów tutaj
# więcej użytkowników tutaj
Przykład Zadań
Poniższy przykład osiąga to samo, co przykład w README.mkd.
- hosts: serwery
roles:
- role: gantsign.antigen
users:
- username: przykład
antigen_libraries:
- name: oh-my-zsh
antigen_theme:
name: robbyrussell
antigen_bundles:
# Pakiety z domyślnego repozytorium (oh-my-zsh robbyrussella).
- name: git
- name: heroku
- name: pip
- name: lein
- name: command-not-found
# Pakiet do podświetlania składni.
- name: zsh-syntax-highlighting # `name` jest wymagane (dowolna poprawna nazwa pliku, byleby była unikalna dla pakietów)
url: zsh-users/zsh-syntax-highlighting
Poniższy przykład osiąga to samo, co przykład w roli gantsign.oh-my-zsh
README.md
- hosts: serwery
roles:
- role: gantsign.antigen
users:
- username: przykład
antigen_libraries:
- name: oh-my-zsh
env:
DISABLE_AUTO_UPDATE: '"true"' # Opcjonalne (to było ustawione w pliku .zshrc roli `gantsign.oh-my-zsh`)
antigen_theme:
name: robbyrussell # Ta rola nie ma domyślnego motywu (w przeciwieństwie do roli `gantsign.oh-my-zsh`)
antigen_bundles:
- name: git # Ta rola nie ma domyślnych pakietów/wtyczek (w przeciwieństwie do roli `gantsign.oh-my-zsh`)
Więcej Ról Od GantSign
Możesz znaleźć więcej ról od GantSign na Ansible Galaxy.
Rozwój i Testowanie
Ten projekt wykorzystuje Molecule do pomocy w rozwoju i testowaniu; rola jest testowana jednostkowo za pomocą Testinfra i pytest.
Aby rozwijać lub testować, musisz mieć zainstalowane następujące:
Ponieważ instalacja powyższych może być trudna, ten projekt zawiera Molecule Wrapper. Molecule Wrapper to skrypt powłoki, który instaluje Molecule i jego zależności (oprócz Linuxa) i następnie wykonuje Molecule z przekazanym poleceniem.
Aby przetestować tę rolę za pomocą Molecule Wrapper, uruchom następujące polecenie z katalogu głównego projektu:
./moleculew test
Uwaga: niektóre z zależności wymagają uprawnień sudo
do zainstalowania.
Licencja
MIT
Informacje o Autorze
John Freeman
GantSign Ltd. Numer firmy 06109112 (zarejestrowana w Anglii)
Role for installing the Antigen plugin manger for Zsh and using it to configure Zsh.
ansible-galaxy install gantsign.antigen