fubarhouse.golang

Ansibleロール: Go

ビルドステータス 安定性 Ansible Galaxy MITライセンス

  • GoogleのGoプログラミング言語をインストールします。
  • インストールの設定は完全に自動です。
  • インストールの設定は手動で行うことも可能です。
  • 設定可能なミラーからインストールします。
  • 必要に応じて$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" # 文字列型で指定する必要があります。on/offはブール値として扱われます。
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はgitクローンのURL、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年にKarl Hepworthによって作成されました。

Goのマスコットの画像はTakuya Uedaによって作成され、クリエイティブ・コモンズ 3.0 表示ライセンスのもとにライセンスされています。この画像は目的のためにサイズ変更されていますが、それ以外は変更されていません。

プロジェクトについて

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

インストール
ansible-galaxy install fubarhouse.golang
ライセンス
mit
ダウンロード
38.8k
所有者
Lover of all things open source and computers - both hardware and software. My opinions are my own.