タグ

ブックマーク / www.ryuzee.com (18)

  • Rails4でスライド共有アプリを作りなおした話

    RubyKaigiで寿司が出るなら行けば良かったと思ったみなさんこんにちは。 最近登壇した際に使ったスライドはSlideshareやSpeakerdeckではなく自作のスライド公開用Webサイト(https://slide.meguro.ryuzee.com/)で公開しています。 それについては以前の記事で書いた通りなのですが、最近時間がある(察してください…)ので、CakePHPで作った初期バージョンを勉強がてらRuby on Rails4で作りなおしてみました。 いままでRuby自体はChefのCookbookを書いたり、Serverspecのコードを書いたり、使い捨てプログラムを書いたりしていたのですが、初めてのRailsで「Railsを勉強しています!!」状態なのでやった内容を整理しておこうかと思います。 ■初心者向けのメモ自分が感じた初心者向けのポイントは以下のような感じです。

    Rails4でスライド共有アプリを作りなおした話
  • SensuのCommunity Pluginの一覧(日本語版)

    全国1億2000万人の監視マニアのみなさん、こんにちは。 Sensuは、非常にシンプルなアーキテクチャーで、さまざまなカスタムスクリプトを使っていろいろな監視を行ったり、メトリクスデータを取得することができます。メトリクスデータはさらにGraphiteなんかに送信してあげれば、どんどんグラフ化できます。このあたりの話が前提になっていますので、Sensuってなにそれ?な方は先に「Sensuを使って自由度の高い監視システムの構築を行う方法」をご覧ください。 チェックスクリプトを書くのは非常に簡単ですが、SensuではCommunity Pluginという形で非常にたくさんのプラグインが既に公開されていますので、今日はそれを紹介します。 Community Pluginの入手なにも考えず、git clone https://github.com/sensu/sensu-community-plu

    SensuのCommunity Pluginの一覧(日本語版)
  • test-kitchenを使ってChefのレシピを複数環境でテストする方法

    test-kitchenはopscodeが提供するChefのレシピをテストするための仕掛けで、Vagrantを使って複数のOSやOSのバージョンを立ち上げレシピをテストすることができる。(Vagrant以外も使える) テストはminitestやcucumberなどを使って記述する。 テストの流れは以下のようになる。 設定ファイルに記載されたOSをVagrantで起動する(既にOSが起動している場合はそのまま利用する。ひな形となるbaseboxが存在しない場合は、設定ファイルに記載された入手元からbaseboxをダウンロードする)Vagrant側とレシピが共用され、レシピが実行されるレシピ実行後、テストが実行されるテストが終了すると、OSの設定が複数あれば次のOSを使ってテストするでは早速設定を行なってみよう。まず1つのレシピをテストする場合だ。 1つのレシピをテストする場合まずトップディレ

    test-kitchenを使ってChefのレシピを複数環境でテストする方法
  • vagrant-serverspecを使ってプロビジョニング結果をテストする

    全国1000万人のVagrant利用者のみなさんこんにちは。 Vagrantいいですよね!そしてインフラの状態をテストするserverspecもいいですよね!この2つがシームレスに統合されるとかなりうれしいですよね! ということで日12/2にvagrant-serverspecというプラグインがリリースされたので早速紹介します。 インストールインストールは簡単です。いつも通りvagrant plugin install vagrant-serverspec としてください。 コード自体は https://github.com/jvoorhis/vagrant-serverspec で公開されています。まだバージョン0.0.1なので、問題を見つけたらPR送るなりIssueを切るなりすると良いと思います。 使い方使い方も簡単です。まずVagrantfileを見てみましょう。 これは何をやって

    vagrant-serverspecを使ってプロビジョニング結果をテストする
  • Amazon EC2のインスタンス起動時に自動でChef Serverと連携する方法

    Amazon EC2に新たなインスタンスを追加した時に、いちいち手作業でインスタンスにSSHで接続してごにょごにょするとか面倒ですよね。こういう時はコマンドでさくっとやってしまうのが簡単です。 いくつかアプローチがありますので、今回はそれを紹介しましょう。 knife bootstrapを使うたとえばAmazon Linuxのインスタンスを起動して、Chef Clientを導入し、指定したロールの状態にするためには、クライアント(自分の作業端末)から以下のように実行します。 knife bootstrap ec2-XXX-XXX-XXX-XXX.ap-southeast-1.compute.amazonaws.com \ --run-list 'role[web]' \ --environment development \ --no-host-key-verify \ --node-na

    Amazon EC2のインスタンス起動時に自動でChef Serverと連携する方法
  • vagrant-awsの環境別オプション指定方法

    全国1000万人のVagrantユーザーのみなさんこんにちは。今回はVagrantからAmazon EC2を操作する際に利用するvagrant-awsプラグインについて詳細を見ていきましょう。 インストールもうこれは書くまでないのですが、以下のようにインストールしてください。vagrant plugin install vagrant-aws Amazon EC2のネットワークについて知っておこう今回の肝はここです。Amazon EC2のインスタンスを立ち上げる際に選択可能な環境は3つあります。EC2-Classic環境内に構築するデフォルトVPCの環境内に構築する自分でVPCを定義し、その中に構築するそれぞれによってvagrant-awsで指定すべきオプションの内容が変わってきます。したがって自分がどの環境内にEC2のインスタンスを構築するのかをまず明らかにしてください。それぞれの違いは

    vagrant-awsの環境別オプション指定方法
  • Vagrantで仮想マシンの一覧を簡単に取得する方法

    全国1000万人のVagrantユーザーのみなさんこんにちは。 Vagrantを普段から多用していると、知らないうちに仮想マシンが沢山起動していて母艦に負荷がかかったり、止めるの面倒くさい~といったことがよくあります。 VirtualBoxの場合は以下のようにVirtualBoxの画面で起動中の仮想マシンの一覧を把握できますが、どこのパスで起動した仮想マシンなのかもよく分からないため十分ではありません。 そこで今日は起動中のVagrantの仮想マシンの一覧を簡単に取得する方法を紹介します。 プラグインのインストール 今回使うのはvagrant-global-statusというプラグインです。 インストールは vagrant plugin install vagrant-global-status でOKです。 実行するには、好きな場所で vagrant global-status -a と

    Vagrantで仮想マシンの一覧を簡単に取得する方法
  • OpenVPN ServerをAmazon EC2上に簡単に構築する方法

    Amazon Virtual Private Cloud(VPC)を使ってPrivate Subnetを作っている場合、Private SUbnetにあるインスタンスを触るために一端Public Subnetの踏み台にログインしてから作業するとかは面倒すぎて無理なので、OpenVPNを使ったVPN環境を用意するのがよくある手です。 OpenVPN Server自体のインストールはそんなに大変ではありませんが、手でやると間違えるので、Chef Soloを使ってサクっと作る方法を紹介します。 インストール対象のインスタンスの用意まずOpenVPN Serverをインストールするインスタンスを用意します。既にNATインスタンスを利用している場合はそれ上にインストールをするのが簡単です。 別で用意する場合は、NATインスタンス作成用のAMIを利用します(他のAMIでももちろん大丈夫です。いざという

    OpenVPN ServerをAmazon EC2上に簡単に構築する方法
  • 続報 PackerでVagrant用のBoxを作成する

    Packerってなに?という人は前回のエントリを先にどうぞ 0.10と0.11だと作成されたVagrantのboxの中のディスクイメージの命名の問題があります(詳細はこちら)。ソースを持ってきてビルドしたPackerを使えばとりあえず問題ありません。→0.12で修正されました! 前のエントリで紹介したPackerですが、Vagrantのboxの作り方が把握できたので紹介しておきます。 今回はUbuntuのboxの作成を例にして解説します。 なお、CentOSの例は以下に置いておきました。 まずは設定ファイルです。前の記事で紹介したものより長くなっています。 { "builders":[{ "type": "virtualbox", "guest_os_type": "Ubuntu_64", "iso_url": "http://releases.ubuntu.com/12.04/ubunt

    続報 PackerでVagrant用のBoxを作成する
  • Vagrantの必須プラグインSaharaをVagrant 1.1に対応させました

    Saharaはコマンドラインから仮想マシンの状態をsandboxモード(変更をいつでも巻き戻せる)に変更できるプラグインです。これを使うことで、例えばchefのレシピ作成やミドルウェアのインストールの評価やリリース手順の確認や大規模な環境変更の評価などがやりやすくなります。Vagrantを使っている人であれば必携のプラグインと言えます。 そんなSaharaですが、開発が停止しているような感じもあり、先日出たVagrant 1.1になかなか対応しそうにないように見えたので、自分でVagrant 1.1に対応させてみました。 なお、かなり大量にソースを書き換えている(作り直しに結構近い気がする)のと、Rubyはあんまり知らない人なので、ご利用は自己責任でお願いしますー。レポジトリはこちらです→ https://github.com/ryuzee/sahara インストール gemにはしていない

    Vagrantの必須プラグインSaharaをVagrant 1.1に対応させました
  • VagrantのboxのVBoxGuestAdditionsを超簡単に最新版に更新する方法

    小ネタです。 Vagrantを使って色々やっているときにちょっと困ることとして以下のようなことがあります。 VirtualBox体が頻繁にバージョンアップするので、boxのGuestAdditionのバージョンとVirtualBoxが要求するバージョンがすぐにずれるvagrantboxesをはじめとする外部で公開されているboxをダウンロードして使おうとすると、GuestAdditionのバージョンが古い解決する方法はもちろんboxにインストールされているGuestAdditionを最新版に入れ替えることなのですが、これを手作業でやると結構面倒です。すなわちインスタンスを起動して、GuestAdditionのisoイメージをマウントしてインストーラーをどっかにコピーし、自分でビルドしてインストールしなければならないわけです。そもそも、GuestAdditionのisoイメージどこだっけ?

    VagrantのboxのVBoxGuestAdditionsを超簡単に最新版に更新する方法
  • VagrantとChef Soloを組み合わせて環境構築を自動化する

    みなさんこんにちは。@ryuzeeです。 前回まではVagrantを使ってVirtualBoxの仮想インスタンスを簡単の構築するところまで説明した。 ただそれだけだったら予め作成しておいたイメージをコピーするのとたいして変わりがないので、あまり有難味を感じないかもしれないが、ここからが番だ。 Vagrantの特徴として、PuppetやChefやChef Soloと組み合わせてインフラ部分の設定を仮想インスタンスの生成時に行うことができる。 流れとしては以下のようになる。 この原理上、仮想インスタンス側にVirtualBoxのバージョンと適合したVirtualBox Additionsがインストールされている必要がある。(ネット上から落としたboxの場合にはこれが古い可能性がある) 実際にためしてみよう今回はCentOS5を利用してDNSを設定するところを自動化する。 事前準備Vagran

    VagrantとChef Soloを組み合わせて環境構築を自動化する
  • Vagrantで簡単仮想マシン構築

    VagrantはOracle VirtualBoxを利用した仮想マシンをコマンドラインから作成してくれるソフトウェアだ。 設定ファイルをRubyで書くことができ、Chef等とも連携できるので、開発環境をコマンドライン一発で作成することができる。更にはCapistranoと組み合わせてアプリケーションのデプロイも一括で行うことで完全自動でいつでもテスト環境をつくれたりもする。 仮想マシンを捨ててしまってもいつでも再構築できること、誰のところにでもすぐ同じ状態に展開できることは開発を進める上で非常にメリットがある。 以下ではまずはVagrantを利用した簡単な仮想マシン構築の手順を説明する(当に説明したい内容はもっと違う話なのだが追って別のエントリで書いていくことにする) Oracle VirtualBoxのインストールhttps://www.virtualbox.org/にアクセスし左ナビ

    Vagrantで簡単仮想マシン構築
  • Rubyで簡単にIEを操作する3つの方法

    みなさんこんにちは。@ryuzeeです。 IEに関するテストを自動化したくて色々調べ中なので記録として公開しておきます。 確認している環境はWindows7 Professional 32bit版+IE9。RubyRubyInstallerを利用しています。 watirを使う方法watirはブラウザ操作のライブラリで、webdriverが出てくる前から存在しています。 過去から仕様が結構変わっており、現在では外部のライブラリ(win32screenshot)などを使わないとキャプチャが取れません。 さらに、win32screenshotは現時点では表示されている領域のみしか画像として保存できないので、検証目的で利用するには若干不十分と言えます。 ただ画面の要素の指定の仕方はwebdriverよりも楽です。 #-*- encoding: utf-8 -*- require 'rubygem

    Rubyで簡単にIEを操作する3つの方法
  • CentOS6にGitLabをインストールする方法

    GitLabgithubのクローンのようなもので、表に出せないけどgithubみたいなものが使いたいという場合に有効だろう。 ここではCentOS6 (x86_64)にインストールする手順を解説する。 yum用の追加レポジトリの設定CentOS6の標準レポジトリには存在しないパッケージが多数あるため、epelとremiを使用する。まだepelとremiを利用していない場合は、以下のように設定する。 rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 必要なパッケージの導入CentOS6.2のrubyのバージョンはデフォルトで

    CentOS6にGitLabをインストールする方法
  • 日経Linux3月号にChef Soloの話を執筆しました | Ryuzee.com

    ということでタイトルの通りなんですが、日2月8日発売の日経Linux3月号の特集1「クラウド活用で“簡単” “タダ” “楽しく” サーバー構築の新常識」の一部を執筆しました。 僕が書いたのは、Amazon EC2 API Toolsを使ってコマンドラインからEC2インスタンスを立ち上げて、そのインスタンスに対してChef Soloを使ってさくっとApacheやPHPMySQLをインストールしよう、という内容です。 応用編としてEC2のインスタンス上にTracとSubversionをコマンド一発で作るChefのレシピなんかも用意しました。 日経 Linux (リナックス) 2012年 03月号 [雑誌] 出版社:日経BP社( 2012-02-08 ) 定価:¥ 1,533 雑誌 ( 172 ページ ) ISBN-10 : ISBN-13 : 4910071930327 環境構築の自動化を

    日経Linux3月号にChef Soloの話を執筆しました | Ryuzee.com
  • 【資料公開】テストについて考える

    Ryutaro YOSHIBA / Agile Coach, CTO at Attractor Inc. 翻訳者/ Scrum Alliance認定チームコーチ(CTC) /書籍→『SCRUM BOOT CAMP THE BOOK』『プロダクトマネージャーのしごと』『エンジニアリングマネージャーのしごと』『チームトポロジー』『スクラム実践者が知るべき97のこと』『プロダクトマネジメント』『みんなでアジャイル』『レガシーコードからの脱却』『カンバン仕事術』『Effective DevOps』他 ご相談はお気軽に!!

    【資料公開】テストについて考える
  • CakePHPアプリをNetBeans+xdebugでデバッグする

    2012/5/26 追記と修正を行いました よくあるパターンの割に、Eclipse(PDT)での解説しかないので、今後利用する人のために手順を残しておく。 確認した環境は以下の2つだ。 MacOS X(Snow Leopard) + NetBeans6.9.1 + CakePHP1.3 + xdebug2.1.0。ApacheはMAMPではなく、MacPortsでインストール MacOS X(Lion) + NetBeans7.1.2 + CakePHP1.3 + xdebug2.2.0。ApacheはLion標準。PHPはHomeBrewでインストール PHPにpearを組み込む xdebugのインストールにはpeclコマンドを利用するのだが、MacPortsで何も考えずにPHPをインストールすると、pearがサポートされない形になっているので以下のようにして、pearを組み込む。 su

    CakePHPアプリをNetBeans+xdebugでデバッグする
  • 1