LoginSignup
4
4

More than 5 years have passed since last update.

itamaeメモ

Last updated at Posted at 2015-05-29

itamaeをインストール

$ sudo gem install itamae

レシピー作成

どこのディレクトリでもいいんで、base.rbファイルを作成して、下のコードを入れます。

package "git" do
    action :install
end

ローカル環境でItamaeを実行する

$ sudo itamae local git.rb

これでgitがインストールされます。

リモートサーバーで実行

仮に公開鍵認証でリモートサーバーに入れるとします。リモートのサーバーでgit.rbレシピーを実行します。

$ itamae ssh -h <hostname> -u root -p 2222 git.rb
 INFO : Starting Itamae...
 INFO : Recipe: /Users/N1210A001/Playground/itamae/git.rb
 INFO :   package[git] installed will change from 'false' to 'true'

itamaeのhelp

$ itamae help ssh
Usage:
  itamae ssh RECIPE [RECIPE...]
  ...

$ itamae help local
Usage:
  itamae local RECIPE [RECIPE...]

Options:
      [--dot=PATH]                 # Only write dependency graph in DOT
  -j, [--node-json=NODE_JSON]
  -y, [--node-yaml=NODE_YAML]
  -n, [--dry-run], [--no-dry-run]
      [--ohai], [--no-ohai]        # This option is DEPRECATED and will be inavailable.
  -l, [--log-level=LOG_LEVEL]
                                   # Default: info
      [--color], [--no-color]
                                   # Default: true

Run Itamae locally

ディレクトリ作成

リモートホストにディレクトリを作成、ユーザーを指定する際に実際に存在しているユーザーを指定する必要がある
directoryはitamaeのリソースです。

directory "create itamae-test dir" do
  action :create
  path "/root/itamae-test"
  mode "755"
  owner "wang"
  group "root"
end

ファイルを作成する

file "create file foo" do
  path "/root/foo"
  content "this is just a random file"
  mode "755"
  group "root"
end

gitからelixirをcloneする

git "clone elixir" do
  destination "/root/elixir"
  repository "https://github.com/elixir-lang/elixir.git"
  revision "HEAD"
end

リモートサーバーにフィアルを転送

リモートの/etc/sudoers.d/ディレクトリにローカルの現在のディレクトリ下のremote_files/wzjファイルを送ります。リモートでもwzjという名前で保存します。

remote_file "/etc/sudoers.d/wzj" do
    source "remote_files/wzj"
end

userリソースを利用して、ユーザーを作成する

user "create user" do
  username "wang"
  password "123456"
end

Erlangをインストールレシピー

directory "create Download directory" do
  action :create
  path "/root/Download"
  mode "755"
  owner "root"
  group "root"
end

execute "get erlang repo" do
  cwd "/root/Download"
  command "wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm"
end
execute "install erlang repo" do
  cwd "/root/Download"
  command "rpm -Uvh erlang-solutions-1.0-1.noarch.rpm"
  not_if "rpm -q erlang-solutions-1.0-1.noarch" # 0であれば、上のコマンド実行しない
end

# 必須
package "epel-release" do
  action :install
end

package "erlang" do
  action :install
  not_if "hash erl"
end

dockerをインストールして、起動する

package "epel-release"

package "docker"

service "docker" do
  action :restart
  name "docker"
end

jenkinsをインストール

include_recipe './apache.rb'
package "java-1.8.0-openjdk"

execute "download repo" do
  command "wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo"
  not_if "test -e /etc/yum.repos.d/jenkins.repo"
end

execute "import jenkins key" do
  command "rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key"
end

package "jenkins" do
  action :install
end

include_recipeを使って同じディレクトリのしたのレシピーapache.rbをincludeして、apacheがなければ、インストールするようにしてくれます。


ベースとなるソフトを一度にインストール

%w(ctags tmux vim).each do |pkg|
  package pkg do
    action :install
  end
end
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4