Skip to content

civitaspo/itamae-plugin-recipe-goenv

Repository files navigation

Itamae::Plugin::Recipe::Goenv

Itamae plugin to install golang with goenv

Installation

Add this line to your application's Gemfile:

gem 'itamae-plugin-recipe-goenv'

And then execute:

$ bundle

Or install it yourself as:

$ gem install itamae-plugin-recipe-goenv

Usage

System wide installation

Install goenv to /usr/local/goenv or some shared path

Recipe

# your recipe
include_recipe "goenv::system"

Node

Use this with itamae -y node.yml

# node.yml
goenv:
  global:
    1.7.4
  versions:
    - 1.7.4
    - 1.6.3
    - 1.5.4

  # goenv install dir, optional (default: /usr/local/goenv)
  goenv_root: "/path/to/goenv"

  # specify scheme to use in git clone, optional (default: git)
  scheme: https

  # Create /usr/local/goenv/cache, optional (default: false)
  # See: https://github.com/syndbg/goenv/tree/bae243f3771731897aafb152126976653cb8213c/plugins/go-build#package-download-caching
  cache: true

.bashrc

Recommend to append this to .bashrc in your server.

export GOENV_ROOT=/usr/local/goenv
export PATH="${GOENV_ROOT}/bin:${PATH}"
eval "$(goenv init -)"

Installation for a user

Install goenv to ~#{node[:goenv][:user]}/.goenv

Recipe

# your recipe
include_recipe "goenv::user"

Node

Use this with itamae -y node.yml

# node.yml
goenv:
  user: civitaspo
  global:
    1.7.4
  versions:
    - 1.7.4
    - 1.6.3
    - 1.5.4

  # specify scheme to use in git clone, optional (default: git)
  scheme: https

  # Create ~/.goenv/cache, optional (default: false)
  # See: https://github.com/syndbg/goenv/tree/bae243f3771731897aafb152126976653cb8213c/plugins/go-build#package-download-caching
  cache: true

Example

$ cd example
$ vagrant up
$ bundle exec itamae ssh --vagrant -y node.yml recipe.rb

MItamae

This plugin can be used for MItamae too. Put this repository under ./plugins as git submodule.

node.reverse_merge!(
  goenv: {
    user: 'civitaspo',
    global: '1.7.4',
    versions: %w[
      1.7.4
      1.6.3
      1.5.4
    ],
  }
)

include_recipe "goenv::user"

License

MIT License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages