タグ

chefに関するmonochromeganeのブックマーク (29)

  • DockerによるChefのCookbooks開発 - Qiita

    Chefのcookbookをちょっと実行したい時、みなさんどうしているのでしょうか。 Amazon S3上に、手元のMacbookのVirtualbox(Vagrant)で、さくらのVPSで、XenサーバのDomUで。。。などなど色々だと思います。 仮想環境だとまっさらなOSを立ち上げるのにいちいち時間がかかる。 みなさん Docker使いませんか? 私はUbuntuサーバにDockerをインストールした環境を用意して その上でCentOSでも, UbuntuでもDockerで文字通り ドカドカ 作って消してChefのレシピを開発しています。 Docker上のOSはLinux Containerなので仮想環境よりもCreate/Destroyが早くできます。 そして、そのDockerを使ってChefのCookbookを開発するのに便利なkitchen-dockerの使い方を紹介します。 ※

    DockerによるChefのCookbooks開発 - Qiita
  • さくらVPSを使って便利な開発環境を構築する - UNIX的なアレ

    開発環境は難しい 最適な開発環境をつくるのっていつも難しいなーと思います。サーバ側に入って開発する人もいれば、クライアント側のIDEあげてる人もいるわけで人それぞれです。 その人に特化した開発環境をつくるだけであればそこまで難しい話ではありませんが、チームでの開発となるとそのあたりをうまく解消するのがだんだん難しくなってきます。また、新しくサブドメインが増えたりなど開発環境も常にアップデートし続ける必要があります。 このあたりを、サーバエンジニアが手動でやってると死にます。悪しきDev/Opsの対立関係がうまれてしまうので、なんとかしないといけない。 というわけで、オフィス移転をきっかけに開発環境を作りなおしてみました。以下の3点からさくらVPSを選びました。 コストを抑えたい 最近さくらVPSに東京リージョンができた ローカルネットワーク接続できるようになった 新規開発環境をつくる上での

    さくらVPSを使って便利な開発環境を構築する - UNIX的なアレ
  • Chef-Solo + Knife-Solo + Berkshelf 環境のつくりかた

    Chef-Solo + Knife-Solo + Berkshelf 環境を構築するときに少しはまったので、まとめておきます。 ブログ投稿時点(2013/08/20)では knife-solo のバージョンだけ気をつけておけば大丈夫です。 knife-solo のバージョンが古いと2回目以降の実行時にうまくいかないためです。 その他の構築自体は難しくありません。 以下、構築手順です。 1. 前提 構築対象となるリモート側のサーバへはすでにSSHによるログインが可能であるものとします。 2. chef, knife-solo, berkshelf のインストール 以下のGemfileを用意してbundle installを行います。 Gemfile source "https://rubygems.org" gem 'chef' gem 'knife-solo', '>= 0.3.0.pre

    Chef-Solo + Knife-Solo + Berkshelf 環境のつくりかた
  • knife-solo 0.2.0 で rsync エラーによって苦しまないためのたったひとつの方法 - Hack like a rolling stone

    結論としては、0.2.0 以降のバージョンを使いましょう。今現在は github から持ってきて使いましょう、ということです(挨拶) 昨日、Jenkins cookbook のバグ潰しをしていたら、@chiastolite さんからこんなことを教えてもらいました。 @shimizukawa @tk0miya 調度Jenkinsをknife solo使って入れてたんですが、runitnginx妙なとこでファイル展開されて、rsyncがこけるみたいです 2013-04-16 15:29:06 via YoruFukurou to @shimizukawa 手元の環境では発生しなかったので、どういうことだろう? と思って調べてみたところ、knife-solo 0.2.0 が原因でした。 何度か試行錯誤していたらこんなエラーが出てきました*1。 $ knife solo cook -p 2222

  • chef でゼロからサーバ構築をやってみる - ロックとチュウーハイとこりんがるな日々

    サーバ構築は開発マシンであるmacから「knife-solo」でサーバ構築を行います ※knife-soloの設定は以下の記事をに書いています knife-soloを設定して開発マシン(mac)からchef-soloを実行する 設定を行うサーバは「sakura vps 1G」です、osはデフォルトの「centos6.3 x86_64」です サーバは単純なLAMP環境です 以下構築のログになります、なお今回はできるだけopscode communityに公開されているcookbookを使っていこうかと思います opscode community またサーバにログインするのは確認のみで設定をするのはすべてchefで行う予定です 構築ログ chef を実行するユーザを作成 この作業のみサーバで実行する $ ssh [ipaddress] -l root # useradd chef # pass

    chef でゼロからサーバ構築をやってみる - ロックとチュウーハイとこりんがるな日々
  • chef-solo使い始める

    さくらのVPSで使ってるUbuntuをまた壊してしまって直らない。 それならいっそ何度再インストールしようが痛くないようにchef使っておくことにした。 knife-soloを入れる。 % gem install knife-solo何故かやたら時間かかった。 Chefレポジトリを作成する。 % knife solo init chef-repo 作成はされたけどwarningが出てた。 WARNING: No knife configuration file found 設定しておく。 % knife configure色々聞かれたけどとりあえずreturnを連打してデフォルト設定にした。 とりあえず練習を兼ねてnginx用のクックブックを作る。 % cd chef-repo % knife cookbook create nginx -o site-cookbooks そうすると si

  • knife-soloでLinux環境構築 - masa21kikのブログ

    http://d.hatena.ne.jp/naoya/20130204/1359971408 http://d.hatena.ne.jp/naoya/20130205/1360062070 に影響されてchef-solo, knife-soloを使ったLinux環境構築を試す. 自分用のzshやemacsの設定ファイルなんかはgithubにdotfilesを置いて,持って来るだけには なっているが,新しいVMやサーバを立ち上げたときに毎回yum installしたりするのが面倒だと 思っていた.この解決にもちょうど良さそうだ. 試した環境 VirtualBOXのVMを使って実環境はホストWindows機のみ. ・ホストOS Windows 7 ・作業環境:Fedora 18 (VirtualBOX VM) 普通に手動でインストールしたもの 事前準備として ~/.ssh/config を

    knife-soloでLinux環境構築 - masa21kikのブログ
  • [Chef][serverspec]ChefSoloを使ってnginx+mysql+rubyサーバー(VPS)を30分で作る - takatoshi blog

    何かアプリを書いた時にVPSなんかで公開しようとすると 「パッケージをインストールしてアプリ書いてサーバーの設定変更してデプロイ環境を作って…etc」 と色々作業しないといけないので非常にめんどくさい。 昨今heroku/sqale/engineyardなんかのPaasもあるけれど、やっぱり自由度の高い環境を安価に欲しい場面ありますよね ってことで サーバーの基設定(ユーザーの作成やファイアウォールの設定,リモートログイン環境の整備,パッケージいインストールなど) アプリケーションの稼働環境の整備/環境のテスト,稼働 この範囲を自動化してサクッとサーバー作ります。 サンプルコードを置いているので、使ってもらえればサクッとサーバー作れます。 サーバーの基設定 サーバーのプロビジョニングはChef-Soloでやります。 Cookbookはこれ https://github.co

  • 入門Chef-Soloを片手にRailsアプリを動作させるところまでやってみた - プログラミングノート

    Chefについては前々から気にはなっていたけどまとまった情報があまりなく、中々じっくりと取り組めていなかったのですが、ちょうど次のプロジェクトから導入しようとしていたところに、『入門Chef Solo - Infrastructure as Code』というありがたいまとめが出版されたので、それを片手に色々と実験してみました。 入門Chef Soloはよくまとめられていて非常に助かったのですが、Kindleで見ると目次がなくて逆引き的に利用しながら構築するのが結構大変でしたので、自分用に手順書としてまとめてみました。(目次に関しては現在修正版が出ているようです) とりあえずRailsのサービス開発プロジェクトで使いたいので、以前にさくらVPSの設定で行ったような感じでrvm, nginx, unicorn, mysqlRailsアプリが動くところまでやってみました。もう1年以上前ですが

    入門Chef-Soloを片手にRailsアプリを動作させるところまでやってみた - プログラミングノート
  • ChefでのMySQLパスワードの扱い - matetsuだもんで

    opscodeのリポジトリにあるMySQLのcookbookでは、rootユーザやレプリケーション用のユーザのパスワードをランダムに生成して設定している。 opscode の recipe の特徴 このランダムという点をカバーするべく、うまい仕組みが組み込まれている。 パスワードを設定するところは node.set_unless['mysql']['server_root_password'] = secure_password といった形で、attributeに設定されていない場合はランダムに生成するという事をして、2度目以降も同じパスワードとなるようになっている。 2回目以降も同じパスワードを保証するために、もうひとつの技が unless Chef::Config[:solo] ruby_block "save node data" do block do node.save end

    ChefでのMySQLパスワードの扱い - matetsuだもんで
  • ちょっと便利なvagrant sshのコマンドオプション

    vagrant sshにはコマンドオプションがあり、sshで仮想マシンにログインしなくても実行結果を取得することができます。 コマンドオプション vagrant ssh のコマンドオプションは-c commandです。 -cオプションを使うことで、SSHコマンドを直接実行することができます。 例えば、こんな使い方。 DHCPな仮想マシンのIPアドレスを知る grepなりで取得結果を整形すれば、仮想マシンのWebサーバへのブラウザアクセスなどに利用できます。 Chef-Soloのレシピを個別に実行する Vagrant + Chef-Solo環境であれば、以下のコマンドで個別にレシピを実行することができます # Vagrantfileで定義したレシピを全て実行 $ vagrant ssh -c "cd /tmp/vagrant-chef-1 && sudo chef-solo -c solo.

    ちょっと便利なvagrant sshのコマンドオプション
  • http://blog.inouetakuya.info/entry/20130511/1368271417

  • Vagrant起動時にChef-Soloの実行を省く

    Vagrantの起動時にはChef-Soloが実行されますが、きちんと冪等性をもたせたレシピでもChef-Soloの実行には多少の待ちが発生してしまいます。 そこで今回は起動時間を短縮させるためのオプションを紹介します。 Vagrant起動時にChef-Soloの実行を省くには vagrant up時に--no-provisionオプションをつけます もちろんvagrant reload時にも使えます --no-provisionはすべてのprovisionの実行を省いてしまうため、config.vm.provision :shellなど別のprovisionも実行されなくなってしまいます。 特定のprovisionを実行させたい場合は、vagrant up時に--provision-with x,y,zとして実行したいprovisionを指定するとよいです。 $ vagrant up -

    Vagrant起動時にChef-Soloの実行を省く
  • 半歩進むChef-Solo - definitionでtemplateを使うとき気をつけること

  • ChefのrecipeをJenkinsで継続的インテグレーションする方法

    環境構築の自動化のツールとして一番注目されているのがChefです。 Recipeと呼ばれるインストールや設定のためのスクリプトを書いておき、それを使って新しいサーバを速攻で作ったり、Chef Serverを使えば複数のサーバ群に対して環境を一定に保つことが可能です。 ChefのRecipeは単なるrubyのスクリプトです。そしてrecipeでよく起こる問題として以下のようなものがあります。 外部サイトからtarballを取得してインストールしているような場合に、配布元の移転や、新バージョンの公開と旧バージョンの配布停止によって、recipeがコケるphpでよく使われるライブラリの配布形態であるpearのチャンネル情報が追加になったりURLが変更になる。インストールすれるパッケージがバージョンアップされ、依存関係が増えたりする。上記のようなことがあるので、recipeを定常的に動作確認してい

    ChefのrecipeをJenkinsで継続的インテグレーションする方法
  • 半歩進むChef-Solo - Cookbookの共通化(library)

    Cookbookの共通化(library) 前回エントリではrecipeとdefinitionを用いたCookbookの共通化の手順を紹介しました。 今回はChefのもうひとつの共通化の仕組みであるlibraryを紹介します。 libraryって libraryはRubyコードを用いて、Chefに新しいクラスやメソッドを追加することができる仕組みです。 libraryはクックブック内のlibraries/library_name.rbに定義することで自動で読み込まれ、recipes, attributes, file, definitions, providers, definitionsで利用することができます。 libraryの用途は以下の様なものがあります。 ファイルに格納されている属性値へのアクセス ループのようなプログラムテクニックの利用 Chefのレシピから直接呼び出せるような

    半歩進むChef-Solo - Cookbookの共通化(library)
  • 半歩進むChef-Solo - Cookbookの共通化(recipeとdefinition)

    半歩進むChef-Solo 最近、Vagrant + Chef-Soloによるローカル開発環境Boxイメージ構築自動化に取り組んでいます。 Cookbookをつくるうえでのノウハウがたまってきたので、まとめの意味も込めて「半歩進むChef-Solo」シリーズでエントリ書いていこうと思います。 今日はChefで行う「共通化」についてです。 Cookbookの共通化(recipeとdefinition) Vagrant環境でChef-Soloによる構築自動化を行なっていると、複数の環境で似たような処理を行なっている箇所が出てくると思います。 例えば、同じResouceの組み合わせた処理が何箇所も出てきたり、特定のサーバソフトウェアに関連するセットアップをいろんなRecipeの中でやっていたり。 Chefにはこれらの処理をまとめるために、definitionとrecipeという仕組みがあります。

    半歩進むChef-Solo - Cookbookの共通化(recipeとdefinition)
  • All Infra Resources

    This reference describes each of the resources available to Chef Infra Client, including a list of actions, properties, and usage examples. Common FunctionalityThe properties and actions in this section apply to all resources. ActionsThe following actions may be used with any resource: :nothingThis resource block does not act unless notified by another resource to take action. Once notified, this

  • About Libraries

    A library allows arbitrary Ruby code to be included in a cookbook. The most common use for libraries is to write helpers that are used throughout recipes and custom resources. A library file is a Ruby file that is located within a cookbook’s /libraries directory. Because a library is built using Ruby, anything that can be done with Ruby can be done in a library file, including advanced functionali

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知