Chef cookbook and LWRPs for plenv
- Debian, Ubuntu
- RedHat, CentOS, Fedora, Amazon, Scientific
Add these recipes below into run_list
:
recipe[plenv]
recipe[plenv::install]
recipe[plenv::global]
recipe[plenv::cpanm]
Then set attributes described later.
Only recipe[plenv]
should be added into your run_list
.
recipe[plenv]
Then use LWRPs in your own recipe.
plenv_install "5.16.3" do
user "kentaro"
action :install
end
plenv_global "5.16.3" do
user "kentaro"
action :run
end
%w[
carton
Plack
Amon2
].each do |mod|
plenv_cpanm mod do
user "kentaro"
version "5.16.3"
options "--force"
action :install
end
end
Key | Type | Description | Default |
---|---|---|---|
['plenv']['repository'] | String | Repository URL of plenv | git://github.com/tokuhirom/plenv.git |
['plenv']['reference'] | String | Reference to the Git repository | master |
['plenv']['users'] | Hash | Users and information of Perls to be installed for each users | See the example below |
plenv: {
users: [
{
name: "kentaro",
group: "stuff",
versions: [
{
version: "5.16.3",
install_options: "-Dusethreads",
cpanm_options: "--force",
moudles: %w[
Plack
Amon2
],
},
{
version: "5.14.3",
install_options: "-Dusethreads",
cpanm_options: "--force",
moudles: %w[
Mojolicious
],
},
],
global: "5.16.3",
},
{
name: "studio3104",
group: "stuff",
versions: [
{
# This version will be treated as global if `global` option not set
version: "5.16.3",
install_options: "-Dusethreads",
cpanm_options: "--force",
moudles: %w[
Plack
Amon2
],
},
],
},
]
}
- plenv::install: Installs plenv (if not installed yey) and perls
- plenv::global: Sets a certain version of perl as globally used version
- plenv::cpanm: Installs cpanm (if not installed yet) and a perl module via cpanm
If you want to handle the installation manually, just use only plenv
recipe and use LWRPs described below.
This cookbook provides serveral LWRPs listed below:
- plenv_install: Installs plenv (if not installed yet) and runs
plenv install ...
- plenv_global: Runs
plenv global ...
- plenv_cpanm: Installs cpanm (if not installed yet) and a perl module via cpanm
Installs plenv (if not installed yet) and perl via plenv.
plenv_install "5.16.3" do
user "kentaro"
install_options "-Dusethreads"
action :install
end
Set a certain version of perl as globally used version.
plenv_global "5.16.3" do
user "kentaro"
action :run
end
Installs cpanm (if not installed yet) and a perl module.
plenv_cpanm "Plack" do
version "5.16.3"
user "kentaro"
options "--force --reinstall"
action :install
end
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write you change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
MIT License