この記事は最終更新から1年以上経過しています。 気をつけてね。 Infrastructure as Codeに感化されていざChefを使うとなった時、ちょっと既存のファイルを弄りたいだけなのにcookbookにfileとかtemplateとかメンドクセって思うじゃないですか。 『ほなexecuteリソースでちょっとsedコマンドしたら…』と思う前にちょっとChef::Utilを検討しませんか。 対象ファイルとレシピ サンプルとしてこんな2行で出来たファイルを2つ用意しました。
![Chefのレシピでsed的な事を実施 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/276358cffd578164e95cc75d5c5f3d3001124254/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9Q2hlZiVFMyU4MSVBRSVFMyU4MyVBQyVFMyU4MiVCNyVFMyU4MyU5NCVFMyU4MSVBN3NlZCVFNyU5QSU4NCVFMyU4MSVBQSVFNCVCQSU4QiVFMyU4MiU5MiVFNSVBRSU5RiVFNiU5NiVCRCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9Y2ZlNjk0MGFiY2NlODZhM2VlNmEwODI0YWI5MzFlOWQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2F3YW5vYm9seSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MmFmYjJlZmY4YTNiMTVhOWY0MjkyNWFjNTVlODY1MzQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Ddc1776768d49e6d1f2db5b8a47cec0ea)
require 'json' file "/tmp/dna.json" do content JSON.pretty_generate(node) end これをrun_listの最後にでも入れておけば、最終的にnodeがもつattributesが確認できてdebug等に使えます。 ついでにAWS OpsWorksで追加されるAttributesを確認する クラスメソッドさんがAWS OpsWorksについて書かれています。 AWS OpsWorksで持っている値をCustom Chef Recipeの中で使いたい! | Developers.IO: 本当はApplicationの値だけでなくて、LayerとかStackで決めた値も取れるかなと期待していたのですが、今回見つける事ができませんでした。 もしかしたら他のところにあるかもしれないので、見つけ次第追記します。 カスタムレシピとして
この記事は最終更新から1年以上経過しています。 気をつけてね。 Chefのレシピでソースから何かをmakeしてinstallをするやり方は、個人によってまちまちかと思います。 私はこんな感じでやっています。 概要 Joyent SmartOSにirdサーバデーモンのngircdをインストールして、サービスとして起動します。 このCookbookはGithubに公開しています。 higanworks-cookbooks/ngircd_smartos(v0.1.1) 追記:続編できました! [LWRPによる]続・ChefでSourceから何かをインストールするCookbookのウォークスルー レシピのざっくり解説 ローカルに目的のファイルが無かったら取ってくる ファイルを取ってきたらmake & install、ローカルがあれば何もしない サービス登録 サービススタート attributes
この記事は最終更新から1年以上経過しています。 気をつけてね。 前回 ChefでSourceから何かをインストールするCookbookのウォークスルー で、IRCサーバのngircdをインストールするためにtarballを展開してmakeするサンプルを出しました。 折角なので同じことを LWRP(Lightweight Resources and Providers) で表すことでLWRPについて解説をしてみます。 これもGithubでCookbookを確認できます。タグはv0.2.1。 higanworks-cookbooks/ngircd_smartos(v0.2.1) LWRPの取り扱い 前回作成したレシピでは以下の事をやりました。 tarballをダウンロード coufigure && make && make install LWRPは関数みたいに捉えられがちなので、一連のcon
この記事は最終更新から1年以上経過しています。 気をつけてね。 Chef,Puppetに代表される自動構築・構成管理ツールを使うと開発したサーバを検証用などの目的で簡単に再現可能になります。 ただ、漠然としたサーバ構築をしていると何をサービス提供しているのかという定義が曖昧になるため、Cucumber等を使ったテストを軸にテスト駆動でのサーバ構築をしてみましょう。 応用すれば既存のサーバをCucumberによってモデリングし、Chefによって繰り返し再現可能な状態に持っていけます。 このコンテンツで使ったコードはGithubの https://github.com/higanworks/test_driven_infrastructure_example で公開しています、参考にしてみたりフィードバックしてもらえると助かります。 ツール Cucumber: "ふるまい"を自然言語のように記
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く