概要 プロビジョニングツール Itamae Node Attributes について。 json ファイルで定義した Node Attributes を利用して、 レシピの内容を動的に変更して、柔軟性を高めることが出来ます。 例えば、version指定を Node Attributes にすることで、 別バージョンを指定するだけのレシピを何度も作成せずに、 一つのレシピで管理出来ます。 前提 下記記事で作成した resource を流用します。 resource plugin で 板前へのトイレ操作をプラグイン化します toilet はインストール済みとします 試行 レシピを作成 require 'itamae/plugin/resource/toilet' node[:toilets].each do |t| t[:text] toilet t[:text] do filters t[:
(2014/12/30 binstubsを使うように修正しました) (2015/5/26 独自コマンドitamae-envを使うように修正しました) はじめに Itamaeで、 パスワードとかレシピで設定したいけどレポジトリにはいれたくないなー ChefのData Bagほどのものはいらないなー 環境変数使いたいなー けどレシピにはENV["hoge"]じゃなくてnode["hogehoge"]って書けた方がいいなー つまりNode Attributesで環境変数指定すればnode["hogehoge"]として使えるようにしてほしい! っていう感じのitamae-node_envというGemを作りました。 使い方 Gemfileにgem 'itamae-node_env'を追加してbundle install Node Attributesには次のように記述。
これで指定したディレクトリのみがリポジトリにある状態になったかと思います。 普通にgit pullするだけでもいけそうな気がする 補足 branchを変更したい場合 複数branchがあったとして、git branchをしても git read-tree -m -u HEADを実行した時のbranchしか表示されない。 なので.git/configからbranchを書き換える必要がある。 [branch "master"] remote = origin merge = refs/heads/master こんな感じで書いてある箇所があるので、このケースであればmasterと書いてある箇所を書き換えれば良い。 こんなことをしなくても git branch --set-upstream-to=origin/ブランチ名 ブランチ名 これでブランチが追加される。 それでもbranchが表示されな
とりあえずできた。 参考にしたものをつなぎ合わせただけだけど。 また、itamae の便利な plugin は基本使わないことにして、コードをコピっただけにした。 後で見てわけわかんなくなりそうだったので。 追記: postgesql の起動タイミングを間違っていたので修正。 再追記: さらに間違えてたので修正。また、Postfix も ipv6 無効対応をした。他にもあるかもしれないし、そもそも無効にしなくてもいいのでは・・・と思ってきた。 参考 rbenv qiita.com ほぼ丸パクリさせていただいた SELINUX 無効 github.com disabled のところ丸パクリさせていただいた IPv6 無効 FAQ/CentOS7 - CentOS Wiki IPv6 は使わないが、敢えて無効にする必要ないと思っていたが、 Redmine から PostgreSQL に接続する
Webアプリエンジニア養成読本 Advent Calendar 2014 23日目の記事です。 これまで、Webアプリエンジニア養成読本(以下 先のムック)のPHPデモアプリケーションをCentOS 7で動かすお話をしてきました。その中で、「Serverspecを利用した自動化(20日目)」と、すがさんが Itamae を利用した「Rubyでアプリケーション以外のコードを書く(19日目)」お話をしました。 その上で、サーバ構築自動化の総仕上げとして Itamae + Serverspec を用いてPHPアプリケーションが動くサーバを自動構築・自動テストにチャレンジしてみましょう! 本記事執筆時に利用したバージョンは、CentOS 7.0, Ruby 2.1.2p95, specinfra 2.10.4, Itamae 1.0.13, Serverspec 2.7.1 です。 Itamae,
We are the tech members of Atrae Inc. This tech blog contains awesome information around tech of our concern. こんにちは、エンジニアの青野です。 最近サーバを新しく数台セットアップする機会があり、その管理にItamaeを使いました、という話です。 itamae-kitchen/itamae セットアップの手順はある程度ドキュメント化されていました。 が、コード化してGitHubに置いたほうが変更の履歴も追えるし暗黙知化もしにくいはずなので、 プロビジョニングツールを利用することに。 弊社のサービスはRailsで構築されているものがほとんどです。 Rubyの記法で書けるChefとItamaeを候補として考えましたが、結局後者の導入を選択しました。 Chef有名なので特に説明はしません
某研修でRedmineなどのツールを構築し, それを自動化するような演習課題が与えられた. そのような課題を解決するためにはシェルスクリプトやPuppet, 最近流行りのツールではChefやAnsibleなどがあるので それらを用いても良いが, 今回はItamaeというツールを用いた. なぜItamaeか ChefやAnsibleがあるなかで, Itamaeを用いた理由について軽く触れておく. Chefは, DSLの提供によりシェルスクリプトより可読性の向上したり, デフォルトで提供しているリソースを用いることで, わざわざ自分でtest -eみたいな分岐を書かなくても冪等性を担保してれる点はとても良い. また, シェルスクリプトの記述から大きく乖離しないため, 直感的にレシピを記述できる. 一方で, レシピを書くためのひな形を作成するためにKnife soloなどのツールを覚えない点や,
以前書いた、 Chef Solo+Vagrantで、CentOSにrbenvでRuby環境構築 と同じことを、Chef SoloではなくItamaeを利用して行った。 ryotarai/itamae Chefの記法とほとんど同じように書けるし、よく分からないディレクトリがいっぱい作成されて混乱することもない。 Chefにそこまで慣れていない自分としては、シンプルに管理できそうな分こっちの方が良いんじゃないかという印象でした。 Vagrantで仮想環境作成 CentOS 6.6の環境をVagrantを使って起動する。 $ vagrant box add opscode-centos-6.6 http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.6_chef-provisionerless.bo
以前、Chefを使ってVagrantの仮想マシンをプロビジョニングする方法を検証したが、かなり複雑だった。 今回、軽量Chefという位置づけのitamaeというツールが最近熱いらしく、試してみることにした。 環境情報 当環境の情報は以下の通り。 ホストOS: Mac OS X Yosemite (10.10.2) ホスト機のRuby : 2.1.5 ゲストOS: Cent OS 7.0 Virtual Box : 4.3.26 Vagrant : 1.7.2 itamae : 1.2.11 (今回インストール) 参照するドキュメントは以下。 https://github.com/itamae-kitchen/itamae/wiki/Getting-Started macにitamaeインストール itamae用ディレクトリ作成を適当に場所に作成する。 ここをitamae作業用のトップディレ
gem which ohai # ohaiのインストールパスを確認 grep -R "provides" -h <ohaiのインストールパス>/lib/ohai/plugins | sed 's/^[\s ]*//g' | sed "s/\\\"/\'/g" | sort | uniq | grep "^provides" # ※CentOS6.5とMacOSXで動作確認 grep -R "provides" -h `gem which ohai | perl -e '@p=split(/\//,<STDIN>);pop(@p);print join("/",@p)."/ohai/plugins";'` | sed 's/^[\s ]*//g' | sed "s/\\\"/\'/g" | sort | uniq | grep "^provides" # ※CentOS6.5とMacOSXで
社会人になりました。 研修でサーバー構築自動化の課題があり、Itamaeを使ってみました。 github.com Itamaeとは github.com 軽量版Chefのようなもので、その分学習コストがかからず、シンプルなのがいいですね。 今回やったこと CentOS7にGitbucket + Jenkins + Redmine の環境構築に加えて連携するのに必要なプラグインも入れました。 GitbucketとJenkinsはApacheをリバースプロキシとして用い、Tomcat上で動かしました。 RedmineはPassenger+Apache上で動かし、DBにはMariaDBを使いました。 ディレクトリ構成は自由みたいですが、今回はドキュメントにあるベストプラクティスに沿っています。 https://github.com/itamae-kitchen/itamae/wiki/Best-
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く