fubarhouse.golang

Rola Ansible: Go

Status budowy stabilność-stabilna Ansible Galaxy licencja MIT

  • Instaluje język programowania Go od Google
  • Konfiguracja instalacji jest całkowicie automatyczna
  • Można ręcznie ustawić konfigurację instalacji
  • Instaluje z konfigurowalnego lustra
  • Opcjonalnie czyści Twój $GOPATH, kiedy tego potrzebujesz.
  • Instaluje opcjonalne pakiety za pomocą go get i/lub go install.

Wymagania

Żadne.

Zmienne roli

Konfiguracja instalacji

go_custom_mirror: https://storage.googleapis.com/golang

Podstawowa konfiguracja

go_version: 1.10beta2
GOPATH: /home/vagrant/go
GOROOT: /usr/local/go
GOPROXY: https://proxy.golang.org

Opcjonalna konfiguracja

GO111MODULE: "on" # Musi być w formie string, a nie on/off, co będzie traktowane jako boolean.
GOOS: darwin
GOARCH: amd64
go_checksum: sha256:82628a1a42d7ad88b100d0c4c9c0282a7e008e4eb73876bed4bd61ac4ee11b46

Budowanie ze źródła

Workspace bootstrapowy dla Golang

GOROOT_BOOTSTRAP: /home/vagrant/go1.4

Boolean do wskazania, że budowa powinna być prowadzona ze źródła.

build_go_from_source: false

Boolean do wskazania, że bootstrap wymaga instalacji.

install_go_bootstrap: false

Jaki skrypt ma być użyty podczas budowy ze źródła

go_build_script: make.bash

Aby zainstalować binaria/projekty go get, dodaj je do go_get z odpowiednią konfiguracją modułów. Nie określając wartości dla modules, instalacja przyjmie wartość GO111MODULE.

Domyślna konfiguracja bez konfiguracji modułów:

go_get:
- name: golint
  url: github.com/golang/lint/golint

Konfiguracja z wyłączonymi modułami:

go_get:
- name: dvm
  url: github.com/fubarhouse/dvm
  modules: false

Konfiguracja z włączonymi modułami:

go_get:
- name: gopm
  url: github.com/gpmgo/gopm
  modules: true

Możesz również ręcznie sklonować i pobrać konkretne wersje pakietów, co nie obejmuje pobrania żadnych zależności.

Było to konieczne, aby zainstalować konkretne wersje oprogramowania napisanego w Go, a język nie oferuje w tej chwili alternatywy.

Zaleca się uruchamianie tego playbooka tak często, jak to konieczne, aż do uzyskania sukcesu i korzystanie z go_reget w połączeniu z tą funkcją, lub unikanie korzystania z tej funkcji, chyba że jest to absolutnie konieczne.

go_install:
  # repo to adres URL git clone, ssh lub https.
- repo: https://github.com/fubarhouse/dvm.git
  # dest to przestrzeń nazw
  dest: github.com/fubarhouse/dvm
  # wersja odnosi się do tagu lub gałęzi.
  version: 2.2.5
  package: github.com/fubarhouse/dvm

Aby upewnić się, że wszystkie pakiety są usunięte przed uruchomieniem play, możesz użyć zmiennej go_reget:

go_reget: true

Aby dodać/zmienić absolutną ścieżkę profili powłoki do skonfigurowania, użyj golang_shell_profile.

Jeśli nie zdefiniujesz golang_shell_profile, funkcjonalność ta zostanie zignorowana.

golang_shell_profile: /root/.bash_profile

Aby całkowicie wyczyścić instalację przed wykonaniem roli:

go_install_clean: true

Aby zapobiec usunięciu GOPATH podczas czyszczenia

go_install_clean_full: false

Ustawianie uprawnień

Uwaga: Jeśli określisz niewystarczające uprawnienia, playbook potraktuje następujący play jako nową instalację, ponieważ nie będzie w stanie określić, jaka wersja jest zainstalowana. Aby określić uprawnienia bazy kodu, możesz ustawić:

mode_codebase: 0755

Aby określić uprawnienia workspace, możesz ustawić:

mode_workspace: 0755

Zależności

Brak.

Przykładowy Playbook

- hosts: localhost
  roles:
    - fubarhouse.golang

Instalacja

  • Zainstaluj za pomocą ansible-galaxy install fubarhouse.golang
  • Dodaj tę rolę do swojego playbooka.
  • Zmodyfikuj powyższe zmienne według potrzeb.

Licencja

MIT / BSD

Informacje o autorze

Ta rola została stworzona w 2016 roku przez Karola Hepwortha.

Obraz maskotki Go został stworzony przez Takuya Uedę. Licencjonowany na mocy licencji Creative Commons 3.0 Attributions. Ten obraz został zmniejszony do celów, ale w przeciwnym razie pozostał niezmieniony.

O projekcie

Installs the Go programming language from distribution, or build from source, and install desired packages to your Golang workspace!

Zainstaluj
ansible-galaxy install fubarhouse.golang
Licencja
mit
Pobrania
38.8k
Właściciel
Lover of all things open source and computers - both hardware and software. My opinions are my own.