とりとめも

藻類が学んだり感じたりしたことを未来の自分のために書き留めるところ

Chef-Zero勉強記録 その3 レシピの書き方に少しだけ詳しくなる(MySQLインストール&初期設定)

はじめに

Chefの勉強記録です。
今回はレシピの記法に関するお勉強の記録です。が、リソースタイプの種類などを一度に把握できるわけもないので、「今後も都度調べながらできることを増やしたい」が今回の結論です。

とりあえず、資料を適宜参照しながら、MySQLをインストールするレシピを書けるようになることを目指します。

第1回・第2回はこちら。

  • はじめに
  • おさらい
    • リソースが基本
  • リソース
    • どんなリソースがある?
  • レシピを作ってみる
    • やること
    • 参考
    • 作ったレシピ バージョン1
      • recipes/default.rb
    • 試してみる
    • バージョン1について振り返り
      • 使ったリソース
        • execute:コマンドを実行する
          • subscribesとnotifies:他のリソースを実行条件とする
          • (注)今回はsubscribesは必須じゃない
        • file:ファイルの作成や編集を行う
      • 課題や改善点:レシピが汎用的じゃない
        • Attributeを有効活用する
    • 作ったレシピ バージョン2
      • recipes/default.rb
      • attributes/default.rb
      • templates/default/secure_installation.sql.erb
      • templates/default/create_user.sql.erb
    • バージョン2振り返り
  • おわりに
続きを読む

Chef-Zero勉強記録 その2 Berkshelfでサードパーティ製Cookbookを使う

はじめに

Chefの勉強記録です。その2です。第3回です(ややこしい)

前回はChefをインストールしたり、knife-zeroを使ってリモートホストを操作したり、簡単なレシピを作ってNginxをインストールできるようになったりしました。

(前回の記事はこちら)

今回はレシピの自作からは一旦離れて、Berkshelfなる仕組みについて学んでみます。

  • はじめに
  • Berkshelfって何
  • Berkshelfのインストール・・・は不要
  • Berksfileを作る
  • Cookbookを取ってくる
  • 取ってきたRecipeの登録
  • 収束!
  • 確認
  • おわりに
続きを読む

Chef-Zero勉強記録 その1 環境準備と初めてのレシピ

はじめに

Chefを勉強します。その記録です。
経緯は前回記事をご覧ください。

また、今回のお勉強は、Conohaの解説ページを参考に進めていきます。このはちゃんすごい。

  • はじめに
  • 今回やること
  • 環境
  • 仮想マシンの準備
    • ①chef環境の準備
    • ②本番環境の準備
    • 疎通確認
      • 繋がらない場合
  • chefのインストール(①chef環境)
    • chef-dkのインストー
    • chef-zeroとknife-zeroのインストール(①chef環境)
  • knife-zeroの設定
    • chefリポジトリを作る
    • knife-zeroの設定ファイル
    • Nodeの登録とchef-clientインストー
    • 動作確認
  • Cookbookを作ってみる
    • Nginxインストール用Cookbook作成
    • Recipe作成
      • 方針(Conohaちゃん記事からの変更点)
      • 作っていく
        • Nginxインストールレシピ
        • repoファイル作成用テンプレートファイル
    • Nodeへのレシピの登録
  • インストールの実施
    • レシピを反映する!!
    • 確認する(②本番環境)
  • おわりに
続きを読む

Chef-Zero勉強記録 その0 用語の整理

はじめに

先日、新たに練習用Railsアプリを作りました。本番環境へのデプロイにCapistranoを使おうとしました。失敗しました。
どのあたりでエラーが出ているのかもわからず、というか、そもそも設定ファイルの構成もよくわかっておらず、色々なWebサイトやブログを見よう見まねで作っていたので、さもありなんという有様でした。

ちゃんとドキュメント読んでいちから理解しなければ。というわけで、まずはクリーンな環境を用意して試行錯誤することにしました。
そしてクリーンな環境を作るにあたり、まずはchefのお勉強から始めることにしました。回り道してる感もありますが、いずれ触りたいと思っていた技術でもあるので一石二鳥です。

長くなりそうですが、chef環境の構築段階から、やったこと・知ったことを書き留めていきます。

  • はじめに
  • 目標
  • 今回やること
  • 用語のお勉強
    • Chef Server? Chef Solo?
      • Chefの仲間たち
      • Knifeの仲間たち
続きを読む

Railsのproduction環境でrunnerがエラーになる問題

はじめに

前回の記事で、WheneverによるRailsタスクのcron化について書きました。

marimomemo.hatenablog.jp

これはこれで良かったのですが、アプリを本番環境にデプロイしたあと、作成したタスクをrunnerで実行するとよくわからないエラーが出る問題に直面しました。 (前回の記事では問題解消したコードを載せています)

恥ずかしながら3時間くらい苦しんだので、原因と対応を書き留めます。

  • はじめに
  • 状況
  • 解決策:production用のロードパスに設定追記する
  • 原因について少し詳しく
続きを読む

Wheneverを使ってRailsタスクを定期実行する

はじめに

Railsタスクでバッチ処理を動かしたいと思いました。
要するにcronでRailsタスクをコマンド実行したかったのですが、Railsを介するcrontabを簡単に設定・管理できる「Whenever」というgemがあるそうです。

というわけで、試してみたメモです。

  • はじめに
  • 環境
  • タスクを作る
    • タスクファイルは何処にあるのか
    • 置き場所はlib/tasksが良さそう?
    • タスクのパスをオートロードにする
    • 手動実行してみる
  • Wheneverの使い方
    • gemインストー
    • Wheneverの設定ファイル作成
    • schedule.rbの編集
    • crontabへの反映
    • (補足と注意)wheneverコマンドのオプション
続きを読む

Rails+unicorn+Nginxの構成で初めて本番環境に移行したけどビューが正しく表示されないときにやったこと2つ

はじめに

タイトル長い!

初めてRailsアプリを作って、本番用のサーバーにデプロイして、WebサーバーやDBなどの諸々の設定も終えて、さあブラウザからアクセスしてみよう・・・と試したものの、ブラウザの表示が何やらおかしい。

そんな、先日「えもったー」という練習用アプリを作った際に遭遇したトラブルについて、原因と対応を書いていきます。

発生しうるトラブルは無数にあるでしょうし、今日書く2つの問題についても、以下に書くものが原因とは限らないと思います。
発生した事象に対して問題の切り分けはせず、「こうしたら直ったことあるよ!」という即席の対応策をとりあえず書き留めるのが今日の記事の目的です。

  • はじめに
  • 環境
  • 事象1:画面が真っ白になる
    • 状況
    • 原因:secret_key_baseの設定漏れ
    • 対応:secret_key_baseを設定する
  • 事象2:レイアウトが崩れる(CSSが効かない)
    • 状況
    • 原因:プリコンパイル後のCSSが参照できていない
    • 対応:nginxに/assetsの参照先を設定する
  • おわりに
続きを読む