Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
![料理画像からレシピを生成するAI - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/2a07d4b233f1e3af3dc322de07021b15803e9a54/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-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU2JTk2JTk5JUU3JTkwJTg2JUU3JTk0JUJCJUU1JTgzJThGJUUzJTgxJThCJUUzJTgyJTg5JUUzJTgzJUFDJUUzJTgyJUI3JUUzJTgzJTk0JUUzJTgyJTkyJUU3JTk0JTlGJUU2JTg4JTkwJUUzJTgxJTk5JUUzJTgyJThCQUkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWM1NzY3ODZiNzM4ZjBmNmJhOTQ3ZGE4YWNlY2UwNGZj%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByZWx1JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02ZmVkOGEwNzhkYTI3ZDEyY2RhOGM1ZDA2OTJhNzQ2Yw%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D966b78a2f4196d4fa79dca6a9aad12c7)
リソース別の記載方法 Chefでは管理対象のパッケージやユーザー、グループ等々のことをリソースと呼ぶ。 リソースごとにメソッドがあり、引数に管理対象を取り、続いてブロック内に管理対象のあるべき状態を記載するようになっている。 cookを実行した際は定義されたリソースがあるべき状態になるように変更が行われる(変更がなければ何も行われない)。 レシピ自体は通常のRubyファイルなので、分岐やループ処理など通常のシンタックスを記述して処理を分岐したり、簡略化することができる。 packageリソース パッケージリソースを使用すると、内部的にOSに合わせたパッケージ管理システム(yumやapt)でパッケージの管理を行ってくれる。 基本的にはそういったOS依存の部分はChefが自動的に判断して実行コマンドを判別する。 パッケージのインストール 引数に対象のパッケージ名を記述する。 ブロック内で使用す
初期知識 コーディング規約は Ruby コーディング規準 に準拠する デフォルトのactionはcreateです。それ以外の操作がしたい場合はactionを記述しましょう コメントアウトでどういう動作をしてるか、resource毎に日本語で書きましょう。 fileやtemplate、user、group resourceなどは、resourceブロックの名前に書く事で、 path(実際に配置するpath)や、group_name部分を省略してます。 (例)file '/tmp/hogehoge.txt' do ・・・/tmp/hogehoge.txtを配置 定数、分岐はなるべく少なくしましょう。 environments, roleを有効活用しましょう ①bash : スクリプトを打ちたいとき、git cloneしたいとき bash, execute, scriptなど色々有りますが、どれ
Chef Client 12.1.0 Released Chef client 12.1.0がリリースされました https://www.chef.io/blog/2015/03/03/chef-12-1-0-released/ https://github.com/chef/chef/blob/12-stable/RELEASE_NOTES.md http://docs.chef.io/release_notes.html packageの複数一括インストールやtemplate/cookbook_file等の事前verifyなど、かゆいところに手が届きそうな変更が色々入ってきていますが、 個人的に一番気になっているのは、"Audit Mode"です。 Audit Mode ※この機能はchef-client 12.1.0ではExperimentalなので、将来インタフェースや仕様の変更が
同一のchef-repoに含まれるクックブックについてはmetadata.rbの記述は必要ありませんが、意識して依存性を記述したほうがよいでしょう。 また、defaultレシピを使う場合は include_recipe 'resource-sample' と省略することも出来ます。 レシピが重複してもいいの? 上記のようにsample2からsampleを利用した状態で、両方のレシピをrun_listに含めることが出来ます。この場合はどのような挙動になるでしょうか。 sample::defaultが重複するように思えますが、実際の実行結果は二重に実行することはありません。重複するものは同じリソース定義なので、Chefの実行時に一つのリソース定義とみなしています。 サードパーティのクックブックを利用する 同様の手段でサードパーティのクックブックをインターネットから取得して利用することが出来ます
Windowsのターミナルエミュレータ(蛇足) Chefではコマンドを利用する場合や、SSH接続の簡略化のため ~/.ssh/ などのパスを利用する場合があります。 Windowsローカルの環境で開発を行う場合は、ターミナルエミュレータminttyのインストールなどをオススメします。 ミドルウェアのインストール VirtualBoxとVagrantはインストーラでインストールします。 Downloads - Oracle VM VirtualBox Downloads - Vagrant Rubyのインストール Rubyのインストールから適切な方法を選択します。 バージョンは現在の最新版である2.1.2を前提として進めます。 OS X : brew install rbenv ruby-build でrbenvをインストールする方法をオススメします。 Linux : $HOME以下にrbe
2013-12-12 単純な環境構築を知る -Chefでiptables書き換え- Chef インフラ Chefの使い方は今までの記事でなんとなく使えるようになった気がするので、今回は実際に使えそうな環境構築をやってみたいと思う。やりたいことは apacheインストール iptablesを書き換える 公開 という感じだ。 apacheインストール まずapacheを入れたい。 本来はaliasだとか設定しなきゃいけないものはいろいろあると思うが、今回は単純にインストールして設定はデフォルトのままで。 となるとrecipeは簡単。 package "httpd" do action :install end service "httpd" do supports :status => true, :restart => true, :reload => true action [ :e
タイトルのまま。僕はレシピの作成をVimを使ってやっているのですが、毎回似たようなコードを手打ちしていくのは頭おかしくなりそうなので、スニペット化していました。なんか需要がありそうなので公開しておきます。 コードはGitHubのryuzee/neosnippet_chef_recipe_snippetにおいてあります。 インストール方法大前提としてVimのNeoSnippetプラグインが必要ですので、適宜インストールしてください。 スニペットのインストールは、Bundleを使っている場合、.vimrcなどにBundleの追加とスニペットのパスの追加を行ってください(コードは折り返されているので注意)。 Bundle 'ryuzee/neocomplcache_php_selenium_snippet' let g:neosnippet#snippets_directory='~/.vim/
AWS OpsWorksで持っている値 AWS OpsWorks用にrecipeを書くにあたって、AWS OpsWorks内で持っている値を使いたい事があります。 特にLayerのタイプがCustomの時には必要になってきます。 AWS OpsWorksのcookbookの中でよく使われている deploy[:***]が怪しいので、Documentを見てみましたが、それらしいものを見つける事ができませんでした。 それなら、実際にログとして出してみて確かめて見ようとという事で調べてみました。 調べた方法は以下のrecipeをCustom Chef recipeとしてdeploy のタイミングで動かして、ログに出力しました。 node[:deploy].each do |application,deploy| deploy.each do |key,value| Chef::Log.debug
こんにちは、Ruby大好きMiyakeです :-) "DevOps"という言葉がクローズアップされるようになってから、Chefがかなり流行ってきてますよね。 ブログとかTwitterをみていても、ここ1年で実際の業務や、開発環境を構築するのにChefを使ってる人がかなり増えたな~って思っています :-) 今日は、そんなChefを使っていく中で気になった、Recipeが実行されるまでの仕組みと、Recipe内で宣言している変数の関係について調べてみたので、紹介したいと思います。 実はこのRecipeが実行されるまでの仕組みを理解することで、Recipe内で宣言した変数の使い方が、より理解できるようになります :-) まずは、Recipeが実行されるまでの仕組みが見えてくるよう、わざと誤った変数の使い方をしたサンプルを書いてみました。 誤った変数の使い方をしているのは、リソースBlockとリソ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く