fubarhouse.golang

Ansibleロール: Go
- 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