fubarhouse.golang

Rol de Ansible: Go

Estado de Construcción estabilidad-estable Ansible Galaxy licencia MIT

  • Instala el lenguaje de programación Go de Google.
  • Las configuraciones de instalación son completamente automáticas.
  • Las configuraciones de instalación se pueden establecer manualmente.
  • Se instala desde un espejo configurable.
  • Opcionalmente limpia tu $GOPATH siempre que lo necesites.
  • Instala paquetes opcionales usando go get y/o go install.

Requisitos

Ninguno.

Variables de Rol

Configuración de instalación

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

Configuración básica

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

Configuración opcional

GO111MODULE: "on" # Debe ser de tipo string, no on/off que se manejará como booleano.
GOOS: darwin
GOARCH: amd64
go_checksum: sha256:82628a1a42d7ad88b100d0c4c9c0282a7e008e4eb73876bed4bd61ac4ee11b46

Construyendo desde la fuente

Espacio de trabajo de Bootstrap Golang

GOROOT_BOOTSTRAP: /home/vagrant/go1.4

Booleano para indicar que la construcción debe ser desde la fuente.

build_go_from_source: false

Booleano para indicar que Bootstrap necesita instalación.

install_go_bootstrap: false

Qué script debe usarse al construir desde la fuente

go_build_script: make.bash

Para instalar proyectos/binaros go get, agréguelos a go_get con cualquier configuración de módulos según desees. Si no especificas un valor para modules, la instalación asumirá el valor de GO111MODULE.

Configuración predeterminada sin configuración de módulos:

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

Configuración con módulos desactivados:

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

Configuración con módulos habilitados:

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

También puedes clonar manualmente y obtener versiones específicas de paquetes, lo que no incluye la descarga de dependencias.

Esto se debe a la necesidad de instalar versiones específicas de software escrito en Go, y el lenguaje no proporciona ninguna alternativa en este momento.

Se recomienda ejecutar este playbook tantas veces como sea necesario hasta obtener un éxito y usar go_reget junto con esta función, o no usar esta función a menos que sea absolutamente necesario.

go_install:
  # repo es la url de git clone, ssh o https.
- repo: https://github.com/fubarhouse/dvm.git
  # dest es el espacio de nombres
  dest: github.com/fubarhouse/dvm
  # version se refiere a una etiqueta o rama.
  version: 2.2.5
  package: github.com/fubarhouse/dvm

Para asegurarte de que todos los paquetes sean eliminados antes de ejecutar el play, puedes usar la variable go_reget:

go_reget: true

Para agregar/cambiar la ruta absoluta de los perfiles de shell a configurar, usa golang_shell_profile.

Si no defines golang_shell_profile, la funcionalidad será ignorada.

golang_shell_profile: /root/.bash_profile

Para limpiar una instalación completamente antes de la ejecución del rol:

go_install_clean: true

Para evitar que la limpieza elimine el GOPATH

go_install_clean_full: false

Estableciendo permisos

Nota: Si especificas permisos insuficientes, el playbook considerará el siguiente play como una nueva instalación porque no podrá determinar qué versión está instalada. Para especificar los permisos de la base de código, puedes establecer:

mode_codebase: 0755

Para especificar los permisos del espacio de trabajo, puedes establecer:

mode_workspace: 0755

Dependencias

Ninguna.

Ejemplo de Playbook

- hosts: localhost
  roles:
    - fubarhouse.golang

Instalación

  • Instala usando ansible-galaxy install fubarhouse.golang.
  • Agrega este rol a tu playbook.
  • Modifica las variables arriba según desees.

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2016 por Karl Hepworth.

La imagen de la mascota de Go fue creada por Takuya Ueda. Licenciada bajo la licencia de Atribución 3.0 de Creative Commons. Esta imagen ha sido redimensionada para el propósito, pero no ha sido alterada de otra manera.

Acerca del proyecto

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

Instalar
ansible-galaxy install fubarhouse.golang
Licencia
mit
Descargas
38.8k
Propietario
Lover of all things open source and computers - both hardware and software. My opinions are my own.