fubarhouse.golang

Ansible Rolle: Go
- Installiert die Google Go Programmiersprache
- Installationskonfigurationen sind vollständig automatisch
- Installationskonfigurationen können manuell festgelegt werden
- Installiert von einem konfigurierbaren Mirror
- Reinigt optional Ihr
$GOPATH
, wann immer Sie möchten. - Installiert optionale Pakete mit
go get
und/odergo install
.
Anforderungen
Keine.
Rollenvariablen
Installationskonfiguration
go_custom_mirror: https://storage.googleapis.com/golang
Grundkonfiguration
go_version: 1.10beta2
GOPATH: /home/vagrant/go
GOROOT: /usr/local/go
GOPROXY: https://proxy.golang.org
Optionale Konfiguration
GO111MODULE: "on" # Muss vom Typ String sein, nicht an/ausschalten, was als boolean behandelt wird.
GOOS: darwin
GOARCH: amd64
go_checksum: sha256:82628a1a42d7ad88b100d0c4c9c0282a7e008e4eb73876bed4bd61ac4ee11b46
Aus dem Quellcode bauen
Golang Bootstrap-Arbeitsbereich
GOROOT_BOOTSTRAP: /home/vagrant/go1.4
Boolean, um anzugeben, ob der Build aus dem Quellcode erfolgen soll.
build_go_from_source: false
Boolean, um anzugeben, ob Bootstrap installiert werden muss.
install_go_bootstrap: false
Welches Skript verwendet werden soll, wenn der Build aus dem Quellcode erfolgt
go_build_script: make.bash
Um go get
Binaries/Projekte zu installieren, fügen Sie diese mit beliebigen Modulkonfigurationen zu go_get
hinzu. Wenn kein Wert für modules
angegeben wird, geht die Installation von dem Wert von GO111MODULE
aus.
Standardeinstellung ohne Modulkonfiguration:
go_get:
- name: golint
url: github.com/golang/lint/golint
Konfiguration mit deaktivierten Modulen:
go_get:
- name: dvm
url: github.com/fubarhouse/dvm
modules: false
Konfiguration mit aktivierten Modulen:
go_get:
- name: gopm
url: github.com/gpmgo/gopm
modules: true
Sie können auch manuell klonen und bestimmte Versionen von Paketen abrufen, wobei der Download von Abhängigkeiten nicht enthalten ist.
Das war notwendig, um spezifische Versionen von Software, die in Go geschrieben sind, zu installieren, und die Sprache bietet derzeit keine Alternative.
Es wird dringend empfohlen, dieses Playbook so oft auszuführen, wie Sie es benötigen, bis Sie Erfolg haben, und go_reget
in Verbindung mit dieser Funktion zu verwenden, oder diese Funktion nicht zu verwenden, es sei denn, es ist absolut notwendig.
go_install:
# repo ist die Git-Klon-URL, ssh oder https.
- repo: https://github.com/fubarhouse/dvm.git
# dest ist der Namespace
dest: github.com/fubarhouse/dvm
# version bezieht sich auf ein Tag oder einen Branch.
version: 2.2.5
package: github.com/fubarhouse/dvm
Um sicherzustellen, dass alle Pakete vor dem Ausführen des Plays entfernt werden, können Sie die Variable go_reget verwenden:
go_reget: true
Um den absoluten Pfad von Shell-Profilen zu ändern, verwenden Sie golang_shell_profile
.
Wenn Sie golang_shell_profile
nicht definieren, wird die Funktionalität ignoriert.
golang_shell_profile: /root/.bash_profile
Um eine Installation vollständig vor der Rollen-Ausführung zu bereinigen:
go_install_clean: true
Um zu verhindern, dass die Bereinigung das GOPATH entfernt
go_install_clean_full: false
Berechtigungen setzen
Hinweis: Wenn Sie unzureichende Berechtigungen angeben, wird das Playbook das folgende Play als neue Installation behandeln, da es nicht bestimmen kann, welche Version installiert ist. Um die Berechtigungen des Code-Basismoduls anzugeben, können Sie setzen:
mode_codebase: 0755
Um die Berechtigungen des Arbeitsbereichs anzugeben, können Sie setzen:
mode_workspace: 0755
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: localhost
roles:
- fubarhouse.golang
Installation
- Installieren Sie mit
ansible-galaxy install fubarhouse.golang
- Fügen Sie diese Rolle in Ihr Playbook ein.
- Ändern Sie die obigen Variablen nach Belieben.
Lizenz
MIT / BSD
Autor Informationen
Diese Rolle wurde 2016 von Karl Hepworth erstellt.
Das Bild des Go-Maskottchens wurde von Takuya Ueda erstellt. Lizenziert unter der Creative Commons 3.0 Namensnennungslizenz. Dieses Bild wurde für den Zweck verkleinert, ist aber ansonsten unverändert.
Installs the Go programming language from distribution, or build from source, and install desired packages to your Golang workspace!
ansible-galaxy install fubarhouse.golang