fubarhouse.golang

Rôle Ansible : Go

Statut de Build stabilité-stable Ansible Galaxy Licence MIT

  • Installe le langage de programmation Go de Google
  • Les configurations d'installation sont entièrement automatiques
  • Les configurations d'installation peuvent être définies manuellement
  • Installation à partir d'un miroir configurable
  • Nettoie en option votre $GOPATH quand vous le souhaitez
  • Installe des paquets optionnels en utilisant go get et/ou go install.

Exigences

Aucune.

Variables du rôle

Configuration d'installation

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

Configuration de base

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

Configuration optionnelle

GO111MODULE: "on" # Doit être de type chaîne, pas on/off qui sera traité comme un booléen.
GOOS: darwin
GOARCH: amd64
go_checksum: sha256:82628a1a42d7ad88b100d0c4c9c0282a7e008e4eb73876bed4bd61ac4ee11b46

Compilation depuis la source

Espace de travail de bootstrap Golang

GOROOT_BOOTSTRAP: /home/vagrant/go1.4

Boolean pour indiquer si la construction doit être faite à partir de la source.

build_go_from_source: false

Boolean pour indiquer si le Bootstrap doit être installé.

install_go_bootstrap: false

Quel script doit être utilisé lors de la compilation depuis la source

go_build_script: make.bash

Pour installer des projets binaires avec go get, ajoutez-les à go_get avec toute configuration de modules souhaitée. En ne spécifiant pas de valeur pour modules, l'installation prendra la valeur de GO111MODULE.

Configuration par défaut sans configuration de modules:

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

Configuration avec modules désactivés:

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

Configuration avec modules activés:

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

Vous pouvez également cloner manuellement et obtenir des versions spécifiques de paquets, ce qui n'inclut pas le téléchargement de dépendances.

Ceci a été nécessaire pour installer des versions spécifiques de logiciels écrits en Go, et à l'heure actuelle, le langage ne fournit pas d'alternative.

Il est fortement recommandé de lancer ce playbook autant de fois que nécessaire jusqu'à obtenir un succès et d'utiliser go_reget en conjonction avec cette fonctionnalité, ou de ne pas utiliser cette fonctionnalité sauf si c'est absolument nécessaire.

go_install:
  # repo est l'url de clonage git, ssh ou https.
- repo: https://github.com/fubarhouse/dvm.git
  # dest est le namespace
  dest: github.com/fubarhouse/dvm
  # version fait référence à un tag ou une branche.
  version: 2.2.5
  package: github.com/fubarhouse/dvm

Pour s'assurer que tous les paquets sont supprimés avant l'exécution du play, vous pouvez utiliser la variable go_reget :

go_reget: true

Pour ajouter/changer le chemin absolu des profils shell à configurer, utilisez golang_shell_profile.

Si vous ne définissez pas golang_shell_profile, la fonctionnalité sera ignorée.

golang_shell_profile: /root/.bash_profile

Pour nettoyer complètement une installation avant l'exécution du rôle :

go_install_clean: true

Pour empêcher le nettoyage de supprimer le GOPATH

go_install_clean_full: false

Définition des permissions

Remarque : Si vous spécifiez des permissions insuffisantes, le playbook considérera le play suivant comme une nouvelle installation car il ne pourra pas déterminer quelle version est installée. Pour spécifier les permissions de la base de code, vous pouvez définir :

mode_codebase: 0755

Pour spécifier les permissions de l'espace de travail, vous pouvez définir :

mode_workspace: 0755

Dépendances

Aucune.

Exemple de Playbook

- hosts: localhost
  roles:
    - fubarhouse.golang

Installation

  • Installez en utilisant ansible-galaxy install fubarhouse.golang
  • Ajoutez ce rôle à votre playbook.
  • Modifiez les variables ci-dessus selon vos souhaits.

Licence

MIT / BSD

Informations sur l'auteur

Ce rôle a été créé en 2016 par Karl Hepworth.

L'image de la mascotte de Go a été créée par Takuya Ueda. Licenciée sous la licence Creative Commons 3.0 Attributions. Cette image a été redimensionnée à des fins, mais est autrement inchangée.

À propos du projet

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

Installer
ansible-galaxy install fubarhouse.golang
Licence
mit
Téléchargements
38.8k
Propriétaire
Lover of all things open source and computers - both hardware and software. My opinions are my own.