mawatari.jp
ウェブエンジニアのメモ帳
  • ブログ
  • ブックマーク
  • 本棚
  • GitHub
  • プロファイル
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby
RSS
2015年7月21日

ServerspecでMacの開発環境をテストする

mawatari 日記 Ansible, Homebrew, Mac, Serverspec 0 Comments

開発用のMacBookを新調したのをきっかけに、HomebrewとAnsibleを用いて開発環境構築の自動化に取り組みました。今回はその環境をServerspecを使ってテストする方法をメモしておきます。
HomebrewとAnsibleでMacの開発環境構築を自動化する

testing-mac-with-serverspec-01

環境

環境は以下の通りです。

ソフトウェアバージョン
Mac OS X10.10.4
Homebrew0.9.5
Ansible1.9.1
Serverspec2.19.0

Serverspecとテストについて

Serverspecについては既知の方も多いと思いますが、簡単に説明すると、対象の環境が期待した通りの状態にあるかをテストするためのツールです。AnsibleやChef, Puppetといった構成管理ツールに依存することなく、また、OSの種別毎にテストコードを書き換える必要がないのが特徴です。
Serverspec

Ansibleでもテスト(のようなもの)を書こうと思えばかけますし、テストを書かなくても実行結果から状態を判断することはできます。そういった状況ではありますが、いつでもテストだけを単体で実行できるようServerspecでテストを書きました。
既にリポジトリにテストを追加しているので、READMEに書かれた手順で簡単に実施できます。以前に公開したプロビジョニングの利用者がそれなりにいるようなので、テストに関してもぜひ試していただければと思います。
mawatari/mac-provisioning – GitHub

続きを読む

2015年6月30日

PHPカンファレンス福岡2015に参加してきた

mawatari 勉強会・交流会 CakePHP, Laravel, PHP 0 Comments

2015年6月27日に開催されたPHPカンファレンス福岡2015に参加しました。参加状況は以下のとおり。

No.タイトル発表者時間
1[基調講演] 全てを結ぶ力郡山 昭仁 @koriym40分
2あなたと秘伝のタレ mid 2015石田 絢一 @uzulla30分
3PHP × AWS でスケーラブルなシステムをつくろう井上 泰治 @inufs30分
4CakePHP3ウォークスルー長谷川 智希 @tomzoh30分
5オープンソースな帳票ツールを作りました日高 克也 @hidakatsuya15分
6Laravel5を使って開発してみた野田 健夫 @nodatakeo30分
7Phalcon PHPフレームワーク Sense of Use近藤 和宏 @cubicBase15分
8CakePHPを業務で使ってみた(7年ほど)小山 健一郎 @k1LoW30分
9PhpStormで始める快適PHP開発生活山本 裕介 @yusuke15分
10レイヤードアーキテクチャを意識したPHPアプリケーションの構築新原 雅司 @shin1x130分
11LT@decoy_service
@k1LoW
@akira1908jp
@cloud10designs
各5分
12PHPカンファレンス福岡2015(懇親会)–120分
13参加者たちとの二次会–120分

発表者のスライドは、@media_planさんがまとめてくださっているので、そちらにリンクしておきます。
phpカンファレンス福岡 登壇者スライドまとめ

感想など

業務やプライベートで頻繁に利用するCakePHPとLaravelのセッションを中心に回りました。
発表を聞いて気になったことは、その場でVMとモックを構築し、画面を見てもらって直接質問を投げかける等しました。こういった機会ならではです。
参加したセッション全体を通して、自身の取り組みの是非を再確認できたり、新たな発見があったりと、大変有意義な時間を過ごせました。
各セッションの感想などは、随時ツイートしていたので、Togetterにまとまっています。
PHPカンファレンス福岡2015まとめ #phpconfuk

秘伝のタレというキーワードがカンファレンス中に熟成されていく感じはライブ感があって楽しかった #phpconfuk

— まわたりなおと (@mawatarin) 2015, 6月 27

また、今回の参加には、発表を聞く以外に、もう一つの明確な目的がありました。それは、普段からTwitter等で交流は持っているけど、お会いしたことがない方や、よく拝見しているブログの著者、利用しているライブラリの作者とお話をすることです。直接、感謝の気持を伝えることが出来る機会はめったにないので、そういった意味でも、このような機会を作ってくださったスタッフの皆様には感謝します。ありがとうございました。

余談ですが、他の参加者との交流をスムースに行うために、以下の様なソーシャルアカウントを記したシールを準備していきました。Twitter, GitHub等、すべて同じアイコンで統一しているので、アイコンで認知されている方も多く、交流に一役買ってくれました。数百円で自作できるので、同じアイコンを使い続けている方にはオススメです。
(7〜8年前から同じアイコンなので、本人とアイコンが似つかなくなってきているという問題が発生していますが、それはまた別の話。)

phpconference-fukuoka-2015-report-01

名刺やネームプレートの余白に添付する等して利用しました。
お名前シール用 – ラベル・シールのエーワン

2015年6月24日

rbenvでRubyの最新安定版をインストールするワンライナー

mawatari 日記 rbenv, Ruby 1 Comment

rbenvおよびruby-buildのインストール、そしてRubyの最新安定版をインストールする作業を自動化したいと考えていました。rbenvでRubyの最新安定版をインストールするワンライナーをメモしておきます。rbenvやruby-buildのインストールは以下の記事を参照してください。
Homebrewでrbenvをインストールする
HomebrewとAnsibleでMacの開発環境構築を自動化する

rbenvには、インストールできるバージョンを調べる rbenv install -lコマンドは用意されていますが、 latestや stableなどといった最新安定版を調べるコマンドは用意されていません。
何か方法はないかと、rbenvやruby-buildのリポジトリにあるイシューを巡っていた際、Stack Overflowのスレッドにたどり着きました。
‘rbenv install stable’ #312 – sstephenson/ruby-build
Suport prefix matching on ruby versons. #276 – sstephenson/ruby-build
Install Latest Stable Version of Ruby Using rbenv – Stack Overflow

Rubyの最新安定版を知るコマンド

Stack Overflowにコメントされていた幾つかの例を紹介します。例えば sedコマンドを用いた例。

Rubyの最新安定版を知る
Shell
1
rbenv install -l | sed -n '/^[[:space:]]*[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}[[:space:]]*$/ h;${g;p;}'

こちらは grepを用いた例。シンプルです。

Rubyの最新安定版を知る
Shell
1
rbenv install -l | grep -v - | tail -1

rbenvでRubyの最新安定版をインストールするワンライナー

というわけで、rbenvでRubyの最新安定版をインストールするワンライナーの例は以下のとおりです。ただし、以下の制約があります。ご留意ください。

  • Ruby最新安定版のバージョンが数値とドットのみで構成されていること
  • rbenv install -lの結果がバージョンの昇順でソートされていること

rbenvでRubyの最新安定版をインストールするワンライナー
Shell
1
rbenv install $(rbenv install -l | grep -v - | tail -1)

以上です。

2015年6月16日

Ansibleの実行結果を通知する

mawatari 日記 Ansible, Mac, Python 0 Comments

Ansibleのコールバックプラグインを使って、プロビジョニングの実行結果を通知する方法をメモしておきます。
コールバックプラグインについては、公式ドキュメントに概要とサンプルが載っていますので参照してください。
Developing Plugins #Callbacks – Ansible
ここでは、Mac OS Xの通知センター (Notification Center) にAnsibleの実行結果を表示させることを目標とします。

今回作成したプラグインは、以下よりダウンロードできます。
Ansible Callback Plugins – GitHub

環境

環境は以下の通りです。
Ansibleに関しては、Homebrewを利用してインストールしています。詳しくは以下を参考にしてください。
HomebrewとAnsibleでMacの開発環境構築を自動化する

ソフトウェアバージョン
Mac OS X10.10.3
Ansible1.9.1

Ansibleのコールバックプラグインを使って実行結果を通知する

Ansibleには様々なプラグイン機構が備わっています。
Developing Plugins – Ansible
その内のコールバックプラグインを使って、実行結果を通知する方法について見ていきます。
Developing Plugins #Callbacks – Ansible

コールバックプラグインの仕組みは非常に簡単です。以下に CallbackModule Classのテンプレートを示します。実行したいタイミングに合わせて処理を実装しましょう。

続きを読む

2015年6月11日

MacにComposerをインストールする

mawatari 日記 Composer, PHP 0 Comments

MacにComposerをインストールする方法をメモしておきます。
今回はどこでもComposerコマンドが使えるようにグローバルインストールしたいと思います。その他のインストール方法などはComposerのWebページに詳しくあります。
Getting Started #Installation – Composer

環境

環境は以下の通りです。
PHPに関しては、Mac OS X 10.10.3に初めから入っているものを利用しました。 phpenvや php-versionといったバージョン管理は導入しておりません。

ソフトウェアバージョン
Mac OS X10.10.3
PHP5.5.20

MacのPHPバージョンを確認する(ハイライト部分がコマンド)
Shell
1
2
3
4
php -v
PHP 5.5.20 (cli) (built: Feb 25 2015 23:30:53)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

MacにComposerをインストールする

MacにComposerをインストールします。手順は以下の通りです。

MacにComposerをインストールする(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 適当なディレクトリに移動
cd tmp
 
# composer.pharをダウンロード
curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...
 
Composer successfully installed to: /Users/mawatari/tmp/composer.phar
Use it: php composer.phar
 
# composer.pharを移動
mv composer.phar /usr/local/bin/composer

以上でインストールは完了です。
ターミナルを立ち上げ直したあと、Composerのバージョン確認をしてみましょう。

Composerのバージョンを確認する(ハイライト部分がコマンド)
Shell
1
2
composer -V
Composer version 1.0-dev (4f80e7ff68466cab970c22b425725b8058c32970) 2015-06-09 00:03:48

正しくインストールされていること、 composerコマンドが利用できることが確認できました。

~/.composer/vendor/bin へパスを通す

ここから先は必要に応じての作業です。
たとえば、Composerを使ってLaravelインストーラーをグローバル領域にインストールした場合、 ~/.composer/vendor/binに laravelコマンドが配置されます。ここへパスを通しておけば、CLIで laravelコマンドが使えるようになり非常に便利です。各種コマンドをグローバル領域にインストールする予定の方はパスを通しておきましょう。

Laravelインストーラーをグローバル領域にインストールする例(ハイライト部分がコマンド)
Shell
1
composer global require "laravel/installer=~1.1"

.bash_profileなり、 .zshrcなりにパスを追加しておきましょう。

~/.composer/vendor/bin へパスを通す例(ハイライト部分がコマンド)
Shell
1
echo 'export PATH=$PATH:$HOME/.composer/vendor/bin' >> ~/.bash_profile

以上です。

‹ 1 2 3 4›»

フォロー

follow us in feedly
人購読中

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた
  • rbenvでRubyの最新安定版をインストールするワンライナー
  • Ansibleの実行結果を通知する
  • MacにComposerをインストールする

Twitter

@mawatarinさんのツイート

カテゴリー

  • 勉強会・交流会 (56)
  • 日記 (104)

タグクラウド

Ansible Apache AWS Backbone.js baserCMS Bootstrap CakePHP CentOS CSS EC-CUBE facebookアプリ開発 fancyBox FuelPHP Fukuoka.php Git GitHub Homebrew HTML5 iOS JavaScript Jenkins Jenkins実践入門 jQuery Mac MAMP MySQL Node.js OSC PHP PHPMatsuri PhpStorm PHPUnit Rails rbenv Ruby RubyMine SwimmyStudy Tips Twitter Vagrant VMware WordPress Xdebug アジャイル 福岡インフラ勉強会
mawatari.jpのはてなブックマーク数
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた

フォロー

follow us in feedly
人購読中
mawatari.jpのはてなブックマーク数

新着はてなブックマーク

  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

↑

© mawatari.jp 2025
Powered by WordPress • Themify WordPress Themes