golang

Ansible Роль: Go

Статус сборки стабильность-стабильный Ansible Galaxy лицензия MIT

  • Устанавливает язык программирования Go от Google
  • Конфигурации установки полностью автоматические
  • Конфигурации установки можно настроить вручную
  • Установка производится с настраиваемого зеркала
  • По желанию очищает ваш $GOPATH, когда это необходимо
  • Устанавливает дополнительные пакеты с помощью go get и/или go install.

Требования

Нет.

Переменные роли

Конфигурация установки

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

Базовая конфигурация

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

Дополнительная конфигурация

GO111MODULE: "on" # Должно быть строкой, а не значением включения/выключения, которое будет трактоваться как логическое значение.
GOOS: darwin
GOARCH: amd64
go_checksum: sha256:82628a1a42d7ad88b100d0c4c9c0282a7e008e4eb73876bed4bd61ac4ee11b46

Сборка из исходников

Рабочее пространство Golang для загрузки

GOROOT_BOOTSTRAP: /home/vagrant/go1.4

Логическое значение для указания, что сборка должна производиться из исходников.

build_go_from_source: false

Логическое значение для указания, нужна ли установка загрузчика.

install_go_bootstrap: false

Какой скрипт следует использовать при сборке из исходников

go_build_script: make.bash

Чтобы установить бинарные файлы/проекты с помощью go get, добавьте их в go_get с любой нужной конфигурацией модулей. Не указывая значение для modules, установка будет считать значение GO111MODULE.

Конфигурация по умолчанию без конфигурации модулей:

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

Конфигурация с отключенными модулями:

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

Конфигурация с включенными модулями:

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

Вы также можете вручную клонировать и получать конкретные версии пакетов, что не включает загрузку зависимостей.

Это необходимо для установки конкретных версий программного обеспечения на Go, и на данный момент язык не предоставляет альтернатив.

Рекомендуется запускать этот плейбук столько раз, сколько необходимо, пока вы не получите успешный результат, и использовать go_reget вместе с этой функцией, или не использовать эту функцию, если это абсолютно не нужно.

go_install:
  # repo — это url для git клона, ssh или https.
- repo: https://github.com/fubarhouse/dvm.git
  # dest — это пространство имен
  dest: github.com/fubarhouse/dvm
  # version относится к тегу или ветке.
  version: 2.2.5
  package: github.com/fubarhouse/dvm

Чтобы убедиться, что все пакеты удалены перед запуском плей, вы можете использовать переменную go_reget:

go_reget: true

Чтобы добавить/изменить абсолютный путь к профилям оболочки для настройки, используйте golang_shell_profile.

Если вы не определили golang_shell_profile, функциональность будет проигнорирована.

golang_shell_profile: /root/.bash_profile

Чтобы полностью очистить установку перед выполнением роли:

go_install_clean: true

Чтобы предотвратить очистку от удаления GOPATH

go_install_clean_full: false

Установка прав

Примечание: Если вы укажете недостаточные права, плейбук будет считать следующий плей новой установкой, так как не сможет определить, какая версия установлена. Чтобы указать права кодовой базы, вы можете установить:

mode_codebase: 0755

Чтобы указать права рабочего пространства, вы можете установить:

mode_workspace: 0755

Зависимости

Нет.

Пример плейбука

- hosts: localhost
  roles:
    - fubarhouse.golang

Установка

  • Установите с помощью ansible-galaxy install fubarhouse.golang
  • Добавьте эту роль в свой плейбук.
  • Измените вышеуказанные переменные по вашему усмотрению.

Лицензия

MIT / BSD

Информация об авторе

Эта роль была создана в 2016 году Карлом Хепвортом.

Изображение маскота Go было создано Такуей Уэдой. Лицензировано по лицензии Creative Commons 3.0 Attribution. Это изображение было изменено по размеру, но в остальном осталось без изменений.

О проекте

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

Установить
ansible-galaxy install fubarhouse/ansible-role-golang
Лицензия
mit
Загрузки
34180
Владелец
Lover of all things open source and computers - both hardware and software. My opinions are my own.