gantsign.ansible-role-golang
Ansible Rolle: Go Sprache SDK
Rolle zum Herunterladen und Installieren des Go Sprache SDK.
Anforderungen
Ansible Core >= 2.12
Linux-Distribution
Debian Familie
Debian
- Buster (10)
- Bullseye (11)
- Bookworm (12)
Ubuntu
- Focal (20.04)
- Jammy (22.04)
RedHat Familie
Rocky Linux
- 9
Fedora
- 35
SUSE Familie
openSUSE
- 15.5
Hinweis: Andere Versionen funktionieren wahrscheinlich, wurden aber nicht getestet.
Rollenvariablen
Die folgenden Variablen ändern das Verhalten dieser Rolle (Standardwerte sind unten aufgeführt):
# Go Sprache SDK Versionsnummer
golang_version: '1.22.6'
# Mirror, um das Go Sprache SDK Download-Paket herunterzuladen
golang_mirror: 'https://storage.googleapis.com/golang'
# Basisinstallationsverzeichnis für die Go Sprache SDK Distribution
golang_install_dir: '/opt/go/{{ golang_version }}'
# Verzeichnis, um Dateien für die Go Sprache SDK Installation zu speichern
golang_download_dir: "{{ x_ansible_download_dir | default(ansible_facts.env.HOME + '/.ansible/tmp/downloads') }}"
# Ort für die GOPATH Umgebungsvariable
golang_gopath:
Unterstützte Go Sprache SDK Versionen
Die folgenden Versionen des Go Sprache SDK werden ohne zusätzliche Konfiguration unterstützt (für andere Versionen folgen Sie den Anweisungen zur erweiterten Konfiguration):
1.22.61.22.51.22.41.22.31.22.21.22.11.22.0- ... (Liste fortsetzen)
Erweiterte Konfiguration
Die folgende Rollenvariable hängt von der Go Sprache SDK Version ab; um eine Go Sprache SDK Version nicht vorkonfiguriert durch diese Rolle zu verwenden, müssen Sie die folgende Variable konfigurieren:
# SHA256-Checksumme für das redistributable Paket (sprich "go{{ golang_version }}.linux-amd64.tar.gz")
golang_redis_sha256sum: '6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82'
Beispiel-Playbook
- hosts: servers
roles:
- role: gantsign.golang
golang_gopath: '$HOME/workspace-go'
Rollenfakten
Diese Rolle exportiert die folgenden Ansible-Fakten zur Verwendung durch andere Rollen:
ansible_local.golang.general.version- z.B.
1.7.3
- z.B.
ansible_local.golang.general.home- z.B.
/opt/golang/1.7.3
- z.B.
Weitere Rollen von GantSign
Sie finden weitere Rollen von GantSign auf Ansible Galaxy.
Entwicklung & Tests
Dieses Projekt verwendet folgende Werkzeuge:
- Molecule zur Orchestrierung von Testszenarien
- Testinfra zum Testen der Änderungen auf dem Remote
- pytest das Testframework
- Tox verwaltet Python virtuelle Umgebungen für Linting und Tests
- pip-tools zur Verwaltung von Abhängigkeiten
Ein Visual Studio Code Dev Container ist zur Entwicklung und zum Testen dieser Rolle bereitgestellt.
Lizenz
MIT
Autoreninformationen
John Freeman
GantSign Ltd. Firmen-Nr. 06109112 (registriert in England)
ansible-galaxy install gantsign.ansible-role-golang