Devops

 2018/04/25

【資料公開】Effective DevOps

みなさんこんにちは。@ryuzeeです。 2018年4月24-25日に実施されたDevOpsDays Tokyo 2018の登壇資料を公開します。 内容自体は、3月に発売になった同名の書籍をベースにしたものになります。ご興味がある方はぜひ書籍をご覧ください。 DevOpsという単語自体は見かけない日がないほど出回ってい (続きを読む)

 2017/02/03

【新刊発売のお知らせ】変革の軌跡 〜世界で戦える会社に変わるアジャイル・DevOps導入の原則

みなさんこんにちは。@ryuzeeです。 このたび、2017年1月25日に、『変革の軌跡【世界で戦える会社に変わる”アジャイル・DevOps”導入の原則】』という書籍が発売になりましたのでお知らせします。 本書はトラディショナルが大企業がどのようにして、マーケットの変化や顧客のニーズにすばやく対 (続きを読む)

 2016/07/31

デブサミ2016夏でDevOpsお悩み相談室というセッションをやりました

みなさんこんにちは。@ryuzeeです。 7月29日に御茶ノ水のソラシティでおこなわれたDevelopers Summit 2016 Summer (デブサミ2016夏)で、「DevOpsお悩み相談室〜カイゼンの文化を組織に根付かせるために」というタイトルのパネルディスカッションを実施しました。当日は多くの方にお越しい (続きを読む)

 2016/04/04

【資料公開】Chef ベーシックトレーニング

みなさんこんにちは。@ryuzeeです。 これから新たにChefを学ぶ人向けに非常に基本的なトレーニングの資料を作ったので公開します。 資料の構成は以下のとおりです。 まずDevOpsの文脈から自動化が必要な背景を説明 Infrastructure as Codeについての利点を説明 Chefのアーキテクチャ Che (続きを読む)

 2016/03/08

Docker + Capistrano3で簡単にWebアプリをデプロイする

こんにちは。@ryuzeeです。 アプリケーションのデプロイを楽にするためにDockerを使いたいけど、別にクラスタは必要ない規模だったりクラスタの管理もしたくないという人は多いのではないかと思います。 そこで、今回は、DockerとCapistrano3を組み合わせて単にデプロイを楽にする方法を紹介します。 構成図  (続きを読む)

 2016/01/26

【資料公開】DevOpsの基本

こんにちは。@ryuzeeです。 営業でDevOpsの基本の話をしてきましたので資料を公開しておきます。中身自体は昨年11月に楽天テクノロジーカンファレンスで話した内容を日本語化したものです。 DevOpsに関してはいまだに実体がなんなのかという議論がなされていますが、僕自身の現時点での解釈は、ビジネス上の意思決定から (続きを読む)

 2015/12/15

【資料公開】トヨタ生産方式の基本と考え方

いまは時間があるので呼ばれればお伺いして相談にのったり、社内勉強会で喋ったりしているのですが、珍しく毛色の違う話をしてきたので資料を公開しておきます(内容は非常に基礎的な話です)。 呼ばれた先でよく言われるのが「スクラムがうまくいっていない」「スクラム的に正しいかどうか分からない」「DevOpsになかなか切り替わらない (続きを読む)

 2015/11/21

【資料公開】The Basics of DevOps

2015年11月21日に楽天さんで行われたRakuten Technology Conferenceで「The Basics of DevOps」というテーマで話をしてきましたので、資料を公開します。 なお、楽天さんなので資料は英語です(ただし中学レベルの英語なので問題ないと思います!!)。 DevOpsというとすぐツ (続きを読む)

 2015/11/10

【資料公開】強いチームの作り方

2015年11月10日に某社の社内勉強会で、「強いチームの作り方」というテーマで話をしたのでその際の資料を公開しておきます。 内容自体は、WEB+DB PRESS 83号に書いた内容なので興味があればそちらを参照ください。 最近DevOpsの文脈ですぐに「インフラ自動化しないといけない」とか「ツール使って効率化」みたい (続きを読む)

 2015/10/14

オープンソースのAPI Gateway「Kong」

全国100万人のモノリシック巨大アプリケーションに苦しむみなさんこんにちは。 世の中猫も杓子もマイクロサービスだ!!とかAPIだ!!とか言っていますが、実際にマイクロサービス環境にしようとすると、どのようにしてAPIのサービスを取りまとめるかが課題になります。 一般的には以下のようなやり方になります。 複数のサービス (続きを読む)

 2015/10/06

ベストプラクティスは全員にとってベストなのか?

全国1000人のエンタープライズベストプラクティスマニアのみなさんこんにちは。 Esther Derbyさんといえば、アジャイルレトロスペクティブズ 強いチームを育てる「ふりかえり」の手引きの作者で有名ですが、最近のブログ記事、Seven Agile Best Practicesが良い内容だったので、紹介します。 アジ (続きを読む)

 2015/10/03

継続的デプロイ実現のためにはインフラの考慮が必要という話

全国1000人のスタックフルエンジニアのみなさんこんにちは。 DevOps.comでのRe-thinking DevOps tools for Continuous Deployment successという話が興味深かったのでご紹介します。 ここで話しているのはいわゆる大きな組織においてデプロイやプロビジョニングを自 (続きを読む)

 2015/04/26

Grafana2による簡単ダッシュボード作成

全国1000万人のダッシュボードマニアのみなさんこんにちは。 以前、Grafanaを使ってGraphiteのデータを表示するダッシュボードを作るという記事を書きましたが、2015年4月20日に、Grafana2がリリースされたので、改めて導入手順や変更点そして最新の画面イメージにについて紹介します。 Grafana2系 (続きを読む)

 2015/02/21

デプロイ自動化を進めるためのチェックリスト

いままで色々なところで言ってきたことをだらだらとまとめてみました。 計画および準備段階 要求される品質の定義をおこなう DevとOpsの双方で情報が共有されるようにする いつデプロイを開始するのかを明らかにする デプロイの際にインフラを変更する必要はあるのかを明らかにする デプロイを行う時間帯、行わない時間をあらか (続きを読む)

 2014/12/09

DockerのCentOSベースイメージを簡単に作る方法

みなさんこんにちは。@ryuzeeです。 ググるとたくさん出てくるテーマでアレなんですが、これが楽かなと思う方法をご紹介します。 全体像 イメージを作る環境自体はVagrant上の仮想マシンを利用する。作成しようとしているOSにあわせておくと良い(バージョンが違っても大丈夫) 仮想マシン自体のセットアップはもちろんの (続きを読む)

 2014/12/06

Jenkins + PackerでAMIを継続的インテグレーションする

みなさんこんにちは。@ryuzeeです。 前回、Packer + Serverspecでテスト済み仮想マシンイメージを自動で生成する方法を紹介しました。 でここまでできれば次にやるのは当然のことながら継続的インテグレーションでしょう。 早速やり方を紹介していきます。 Jenkinsサーバの構築 まず最初にJenkins (続きを読む)

 2014/11/30

Packer + Serverspecでテスト済み仮想マシンイメージを自動で生成する

みなさんこんにちは。@ryuzeeです。 Packerを使うと、VagrantやVMware、Amazon EC2用のAMIなどなどのさまざまな仮想マシンのテンプレートを簡単に作成することができるのはご存知の通りです。 一方で作成した仮想マシンのテンプレートが必要な要件を満たしているかどうかは、仮想マシンのテンプレート (続きを読む)

 2014/11/13

AWS CodeDeployで簡単デプロイ(CLI編)

全国100万人のデプロイ・プロビジョニング自動化マニアのみなさんこんにちは! AWSから新たにDeploy用のサービスAWS CodeDeployがリリースされたので早速試してみました。 これを使うと複数のサーバに同時にアプリケーションをリリースするのが簡単にできます。もうCapistranoとかでごちゃごちゃやる必要 (続きを読む)

 2014/10/06

Chefのハンドラを使ってSensuやSlackと組み合わせる方法

みなさんこんにちは。@ryuzeeです。 Chef Serverを使って大規模なインフラを自動運用している場合、当然のことながら各ノードできちんとChef Clientが動作して、指定したロールやクックブックが実行されていることを確認しなければいけません。 残念なことに、継続的インテグレーションでクックブックの品質を常 (続きを読む)

 2014/08/09

SensuのフロントエンドにUchiwaを利用する方法

全国100万人のSensuユーザーのみなさんこんにちは。 Sensuでは標準でSensu DashboardというWeb UIが付属しているのですが、これがあまりイケてないので他のものを使うのが定番です。 いままではRubyで書かれているSensu Adminを使う場合が多かったのですが、今日紹介するのはUchiwaと (続きを読む)

 2014/06/27

Chefのレシピをサクサク書けるVim用スニペット

タイトルのまま。僕はレシピの作成をVimを使ってやっているのですが、毎回似たようなコードを手打ちしていくのは頭おかしくなりそうなので、スニペット化していました。なんか需要がありそうなので公開しておきます。 コードはGitHubのryuzee/neosnippet_chef_recipe_snippetにおいてあります。 (続きを読む)

 2014/06/22

Sensu on AWSな話

全国2000人のSensuファンのみなさん、こんにちは。 ということで、すでにご存知の方も多いような気もしますが、6月20日(金)にJAWSUG東京第22回勉強会で話してきたので、スライド晒しておきます。 ちなみにこのスライドには書いてないけど、覚えておくと得かもしれないこととして SensuではClient側から (続きを読む)

 2014/05/25

5分で分かるDockerのキホン

全国100万人のImmutable Infrastructure職人のみなさんこんにちは。 もう誰も彼もがDockerなので、あんまりブログに書こうという気にもならなかったのですが、知り合いからリクエストを貰ったので、5分くらいで分かるようにかいつまんで概略を説明します。 Dockerとは 詳しくは本家サイト見ればだ (続きを読む)

 2014/05/21

Grafanaを使ってGraphiteのデータを表示するダッシュボードを作る

全国1000万人もいない監視マニアのみなさんこんにちは。 Sensuを使ってメトリクスを取得し、Graphiteを使って可視化する、というのが定番のアプローチですが、Graphiteのグラフをいちいち自分で探して見るのも面倒だし、あんまりグラフのデザインもいけてないし、ということで、専用のダッシュボードを作るのが一般的 (続きを読む)

 2014/05/05

Sensuからの通知にAmazon SNSを使う方法

全国100000人のSensuユーザーのみなさんこんにちは。 SensuではHandlerという機能を使って、イベントデータを受け取った際に異なる処理を行うことができます。 例えば、エラーを検知した場合に、メールを送信したり、IRCに投稿したり、自動で電話をかけたりといったことをするために利用しますし、例えば受け取った (続きを読む)

 2014/05/01

【発売のお知らせ】Chef実践入門

全国1000万人のInfrastructure as Code職人とImmutable Infrastructure芸人のみなさんこんばんは! ということでタイトルの通りなのですが、このたび5月22日に「Chef実践入門 コードによるインフラ構成の自動化」(技術評論社)が発売になりますのでお知らせいたします。 本の表紙 (続きを読む)

 2014/04/29

Graph ExplorerでGraphiteのデータをいい感じに扱う

全国1億2000万人の監視ツール好きのみなさんこんにちは。 Graph ExplorerはGraphiteと連携して、Graphiteのデータを簡単に探してグラフ化してくれるツールです。GitHubで公開(https://github.com/vimeo/graph-explorer)されています。 Graphite標 (続きを読む)

 2014/04/02

Sensuを使ってCloudWatchのメトリクスを取得する方法

全国200人くらいのSensuユーザーのみなさんこんにちは。 Sensuを使うと自分で自由に監視したりメトリクスデータの取得が可能ですし、他のシステムと組み合わせて監視を一元化することも可能です。 例えばAWSであれば標準でCloudWatchによる監視が行われますが、SensuとCloudWatchを別々に眺めるのは (続きを読む)

 2014/03/30

SensuのCommunity Pluginの一覧(日本語版)

全国1億2000万人の監視マニアのみなさん、こんにちは。 Sensuは、非常にシンプルなアーキテクチャーで、さまざまなカスタムスクリプトを使っていろいろな監視を行ったり、メトリクスデータを取得することができます。メトリクスデータはさらにGraphiteなんかに送信してあげれば、どんどんグラフ化できます。このあたりの話が (続きを読む)

 2014/03/22

Chef ServerとCapistrano3を組み合わせて自動でデプロイ対象サーバを決める方法

タイトルが長い… 例えばAWS上でAuto Scalingを使っていたり、Disposableなインフラを構築していると、アプリケーションのデプロイ先のIPアドレスやFQDNはなかなか固定できません。 このような状況下でCapistranoを使ってデプロイする場合、毎回デプロイ先のホストの情報を取得して、自分で設定ファ (続きを読む)

 2014/03/17

Dashingで簡単にダッシュボードを作る方法

全国1億2000万人のImmutable Infrastructure好きの皆様こんばんは。 去年あたりに色々な場所で紹介されたりして知っている人が多いと思うのですが、簡単に自分用にダッシュボードを作れるDashingが結構使いやすいので改めて紹介しておきます。APIを用意しているミドルウェアやシステムであれば簡単にデ (続きを読む)

 2014/01/12

Sensuを使って自由度の高い監視システムの構築を行う方法

Sensuとは Sensuはhttp://sensuapp.org/で公開されているオープンソース(MITライセンス)のモニタリングフレームワークです。 特徴 以下のような特徴があります(公式サイトの記述を整理) シンプルで融通が効き拡張性があるモニタリングフレームワーク エージェント、メッセージバス、イベントプロセ (続きを読む)

 2013/12/03

vagrant-serverspecを使ってプロビジョニング結果をテストする

全国1000万人のVagrant利用者のみなさんこんにちは。 Vagrantいいですよね!そしてインフラの状態をテストするserverspecもいいですよね!この2つがシームレスに統合されるとかなりうれしいですよね! ということで本日12/2にvagrant-serverspecというプラグインがリリースされたので早速 (続きを読む)

 2013/12/03

vagrant-serverspecを使ってプロビジョニング結果をテストする

全国1000万人のVagrant利用者のみなさんこんにちは。 Vagrantいいですよね!そしてインフラの状態をテストするserverspecもいいですよね!この2つがシームレスに統合されるとかなりうれしいですよね! ということで本日12/2にvagrant-serverspecというプラグインがリリースされたので早速 (続きを読む)

 2013/12/01

Amazon EC2のインスタンス起動時に自動でChef Serverと連携する方法

Amazon EC2に新たなインスタンスを追加した時に、いちいち手作業でインスタンスにSSHで接続してごにょごにょするとか面倒ですよね。こういう時はコマンドでさくっとやってしまうのが簡単です。 いくつかアプローチがありますので、今回はそれを紹介しましょう。 knife bootstrapを使う たとえばAmazon L (続きを読む)

 2013/12/01

Amazon EC2のインスタンス起動時に自動でChef Serverと連携する方法

Amazon EC2に新たなインスタンスを追加した時に、いちいち手作業でインスタンスにSSHで接続してごにょごにょするとか面倒ですよね。こういう時はコマンドでさくっとやってしまうのが簡単です。 いくつかアプローチがありますので、今回はそれを紹介しましょう。 knife bootstrapを使う たとえばAmazon L (続きを読む)

 2013/11/23

vagrant-awsの環境別オプション指定方法

全国1000万人のVagrantユーザーのみなさんこんにちは。今回はVagrantからAmazon EC2を操作する際に利用するvagrant-awsプラグインについて詳細を見ていきましょう。 インストール もうこれは書くまでないのですが、以下のようにインストールしてください。 ``` vagrant plugin i (続きを読む)

 2013/11/09

vagrant-lxc用のCentOS Boxを自作する方法

前回の内容(vagrant-lxcで軽量仮想環境を手に入れる)の続きです。 VagrantではあらかじめBoxと呼ばれる仮想マシンの雛形を用意しておいて、起動時にそれを複製して環境を用意します。したがってLXCとVagrantを組み合わせた場合でも当然のことながらBoxが必要となります。前回の記事ではBoxは公開されて (続きを読む)

 2013/11/04

vagrant-lxcで軽量仮想環境を手に入れる

Vagrantは標準ではVirtualBoxを仮想環境として利用しますが、とにかく遅いのが難点です。 Test-Kitchenを使ってChefのCookbookのテストをしたり、これらを継続的インテグレーションしようとしたときにこの遅さはたまりません。いくつか手段はあってお金持ちの皆様であれば、大富豪アプローチというこ (続きを読む)

 2013/09/29

vagrant-execによるラクラク仮想マシン操作

全国3000万人のVagrantユーザーのみなさんこんにちは。 通常Vagrantを利用している際に仮想マシン内部でコマンドを実行したい場合はvagrant sshコマンドを使ってコマンドを実行します。この際、Vagrantの標準機能を使って、仮想マシンにログインすることなく、コマンドを実行できますが、このvagran (続きを読む)

 2013/09/15

Vagrant Fabricで簡単プロビジョニング

全国1億2000万人のVagrantユーザーのみなさんこんばんは。 最近Vagrantの話を書こうとしても、みんな先にかかれてしまうので困っていたのですが、今日はPython製のデプロイツールであるFabricとVagrantを組み合わせて簡単にプロビジョニングする方法を紹介します。 インストール 前述の通り、Fabr (続きを読む)

 2013/08/31

Packer & Chef-SoloでAmazon EC2のAMIを簡単に作る方法

全国1000万人のPackerユーザーのみなさんこんにちはこんにちは。 Packerは、Mitchell Hashimotoさんによって開発が進められている様々な環境の仮想マシンのテンプレートを簡単に作れるツールです。例えばVagrantを使っている場合はいままではPatrick Deboisさんが作っていたVeewe (続きを読む)

 2013/07/24

DevOpsに関する12のアンチパターン

みなさんこんにちは。@ryuzeeです。 DevOpsGuysというサイトのTwelve DevOps Anti-Patternsという記事が秀逸です。 作者の方に許可を頂き翻訳しましたので公開します。 原文も軽妙なタッチで読みやすいと思いますのでぜひご参照ください。 また本文で様々なスライドや資料へのリンクがあります (続きを読む)

 2013/07/24

DevOpsに関する12のアンチパターン

みなさんこんにちは。@ryuzeeです。 DevOpsGuysというサイトのTwelve DevOps Anti-Patternsという記事が秀逸です。 作者の方に許可を頂き翻訳しましたので公開します。 原文も軽妙なタッチで読みやすいと思いますのでぜひご参照ください。 また本文で様々なスライドや資料へのリンクがあります (続きを読む)

 2013/07/21

OpenVPN ServerをAmazon EC2上に簡単に構築する方法

Amazon Virtual Private Cloud(VPC)を使ってPrivate Subnetを作っている場合、Private SUbnetにあるインスタンスを触るために一端Public Subnetの踏み台にログインしてから作業するとかは面倒すぎて無理なので、OpenVPNを使ったVPN環境を用意するのがよく (続きを読む)

 2013/06/29

続報 PackerでVagrant用のBoxを作成する

Packerってなに?という人は前回のエントリを先にどうぞ 0.10と0.11だと作成されたVagrantのboxの中のディスクイメージの命名の問題があります(詳細はこちら)。ソースを持ってきてビルドしたPackerを使えばとりあえず問題ありません。→0.12で修正されました! 前のエントリで紹介したPackerですが (続きを読む)

 2013/06/29

速報 Packerでさまざまな仮想マシンのテンプレートを作成する

続報で、VagrantのBoxの作り方について書きました。こちら Vagrantの作者であるHashimotoさんが新たにPackerというツールをリリースした(昨晩!)ので速攻ご紹介。 このツールは、Amazon EC2のAMIやVirtualBoxやVMware用のOSのイメージを一貫性のあるインターフェイスで簡単 (続きを読む)

 2013/06/22

ChefのCookbookのベストプラクティス

OpsCode社のシニアコンサルタントであるJulianさんがChefConf2013で話された内容が参考になるので、簡単に紹介します。 スライドはこちらに公開されています。 また動画はこちらです。 ここで出てこない話として僕がやるべきだと思うことは「テストを書くこと」です。 test-kitchenとserversp (続きを読む)

 2013/06/18

Saharaが正式にVagrant 1.1+対応になりました

全国1000万人のVagrant利用者のみなさんこんばんは。 以前僕がforkして作っていたSaharaのVagrant 1.1以降への対応ですが、作者のPatrickさんとコンタクトしながらメインライン側にマージしてもらい、Rubygemsも更新してもらいました。 ということで今後は Vagrant 1.1以降を利用 (続きを読む)

 2013/06/11

Vagrant + シェルスクリプトで簡単プロビジョニング

Vagrantでプロビジョニングというと、Chef SoloとかChefとかPuppetを使うという印象がありますが(Vagrant initしてできるVagrantfileにもそれらだけが入っている)、シェルスクリプトでも簡単にプロビジョニングできます。 マニュアルに書いてあるわりに意外と知らない人が多くてびっくりし (続きを読む)

 2013/05/28

Vagrantのコアの挙動を変更する方法

Vagrantは素晴らしいプロダクトであることは言うまでもないことですが、時にはVagrant自体の挙動を変更したいと思うこともあります。 たとえば、Vagrantでは作成したインスタンスにChefなどのProvisionerを使ってパッケージをインストールするときに、sudoコマンドを利用してユーザー権限からインスト (続きを読む)

 2013/05/26

vagrant-omnibusで簡単Chef Client/Chef Soloインストール

Vagrantを使ってインスタンスを作成し、Chef Provisionerで自動でパッケージをインストールしたり設定をする、というのが定石の流れです。 しかし、インスタンスの雛形であるboxにChef ClientやChef Soloがインストールされていない場合、このインストールを自分でしないといけないのは面倒の極 (続きを読む)

 2013/04/27

veeweeを使ってVagrant用のboxを自分で作る方法

Vagrant用のbox(OSのテンプレート)はhttp://www.vagrantbox.es/などで多数配布されています。 とりあえず試してみる分にはこちらにあるものを使ってみるのも良いですが、実際に開発で使おうとするといくつか問題があります。 そのOSに怪しいプログラムがインストールされているかもしれない 初期 (続きを読む)

 2013/03/31

Vagrant1.1のMulti-VM環境でSaharaを使う方法

昨日の「Vagrantの必須プラグインSaharaをVagrant 1.1に対応させました」の続きです。 Vagrantでは1つのVagrantfileで同時に複数のインスタンスを立ち上げるMulti-VMに対応しています。例えば、Vagrant1.1だと以下のように定義できます。別にインスタンスはメモリが許す限り何個 (続きを読む)

 2013/03/27

Vagrantのインスタンスの破棄の際にChef Serverのnodeも同時に削除する方法

タイトルが長くて何を言っているのか分かりにくいのですが、Vagrant 1.1 + Chef Serverを使ってインスタンスを作り、一端インスタンスを破棄して再度作ろうとすると、Chef Serverが、そのノードは既に登録中だから登録できねーよ、という409エラーを吐いてしまい、プロビジョニングに失敗します。 たと (続きを読む)

 2013/03/27

Vagrantのインスタンスの破棄の際にChef Serverのnodeも同時に削除する方法

タイトルが長くて何を言っているのか分かりにくいのですが、Vagrant 1.1 + Chef Serverを使ってインスタンスを作り、一端インスタンスを破棄して再度作ろうとすると、Chef Serverが、そのノードは既に登録中だから登録できねーよ、という409エラーを吐いてしまい、プロビジョニングに失敗します。 たと (続きを読む)

 2013/03/22

Vagrant1.1 + vagrant-awsで複数インスタンスを作る方法

※2013/5更新:最新のvagrant-awsの仕様にあわせて修正 Vagrant(1.1)でvagrant-awsを使ってEC2に複数インスタンスをまとめて作ることが可能です。やり方は通常のMultiVMの場合と同じです。 以下は冗長ですが、サンプルのソースです。WebサーバとDBサーバのインスタンスを起動し、それ (続きを読む)

 2013/03/22

Vagrant1.1 + vagrant-awsで複数インスタンスを作る方法

※2013/5更新:最新のvagrant-awsの仕様にあわせて修正 Vagrant(1.1)でvagrant-awsを使ってEC2に複数インスタンスをまとめて作ることが可能です。やり方は通常のMultiVMの場合と同じです。 以下は冗長ですが、サンプルのソースです。WebサーバとDBサーバのインスタンスを起動し、それ (続きを読む)

 2013/03/19

Vagrant1.1を使ってAmazon EC2にCentOSのインスタンスを立ち上げる方法

2013/5更新:最新のvagrant-awsの仕様にあわせて修正 2013/6更新:最新のvagrant-awsの仕様にあわせて修正 Vagrant 1.1になって、VirtualBoxだけでなく、Amazon EC2やVMware Fusionのインスタンスを作れるようになったのはご存知のとおりだと思いますが、今 (続きを読む)

 2013/03/19

Vagrant1.1を使ってAmazon EC2にCentOSのインスタンスを立ち上げる方法

2013/5更新:最新のvagrant-awsの仕様にあわせて修正 2013/6更新:最新のvagrant-awsの仕様にあわせて修正 Vagrant 1.1になって、VirtualBoxだけでなく、Amazon EC2やVMware Fusionのインスタンスを作れるようになったのはご存知のとおりだと思いますが、今 (続きを読む)

 2013/03/18

Amazon EC2でCentOS 6.4のAMIを自前で作る方法

既にCentOSはCentOSが提供する公式のAMIがあるのだが、自前でも作ってみた。(本当はやりたいことはもっと先にあるのですが、あまりに長いのでこれだけで1エントリにしときますw) 2013/3/19追記。rpmのインストールのところで最低限必要そうなコンパイラ系のツールなどをインストールするように変更。ipta (続きを読む)

 2013/03/14

foodcriticでChefのcookbookの書き方をチェックする方法

foodcriticはChefのcookbookのためのlintツールで、http://acrmp.github.com/foodcritic/ で公開されています。 cookbookは長い間環境を維持していくために使われるため、可読性が高く誰でも分かるように書いておくことが望ましいのは言うまでもありません。このツール (続きを読む)

 2013/03/14

foodcriticでChefのcookbookの書き方をチェックする方法

foodcriticはChefのcookbookのためのlintツールで、http://acrmp.github.com/foodcritic/ で公開されています。 cookbookは長い間環境を維持していくために使われるため、可読性が高く誰でも分かるように書いておくことが望ましいのは言うまでもありません。このツール (続きを読む)

 2013/03/12

opscodeのphpのcookbookを解説してみる

みなさんお料理頑張ってますか?僕は毎日cookbookのrecipeみながらkitchenでknife使ってChef気分です(意味不明)。 今日はopscodeが提供しているphpのcookbookをみて中身を解説したいと思います。 コードはここです。https://github.com/opscode-cookboo (続きを読む)

 2013/03/04

test-kitchenを使ってChefのレシピを複数環境でテストする方法

test-kitchenはopscodeが提供するChefのレシピをテストするための仕掛けで、Vagrantを使って複数のOSやOSのバージョンを立ち上げレシピをテストすることができる。(Vagrant以外も使える) テストはminitestやcucumberなどを使って記述する。 テストの流れは以下のようになる。  (続きを読む)

 2013/02/28

VagrantのboxのVBoxGuestAdditionsを超簡単に最新版に更新する方法

小ネタです。 Vagrantを使って色々やっているときにちょっと困ることとして以下のようなことがあります。 VirtualBox本体が頻繁にバージョンアップするので、boxのGuestAdditionのバージョンとVirtualBoxが要求するバージョンがすぐにずれる vagrantboxesをはじめとする外部で公 (続きを読む)

 2013/02/27

ChefのrecipeをJenkinsで継続的インテグレーションする方法

環境構築の自動化のツールとして一番注目されているのがChefです。 Recipeと呼ばれるインストールや設定のためのスクリプトを書いておき、それを使って新しいサーバを速攻で作ったり、Chef Serverを使えば複数のサーバ群に対して環境を一定に保つことが可能です。 ChefのRecipeは単なるrubyのスクリプトで (続きを読む)

 2013/02/17

Pandora FMSを使った監視

Pandora FMSはオープンソースの監視システムで、ジャンルでいえば、NagiosとかZabbixとかHinemosと同じ類のものになります。 日本だと楽天とかカシオでの導入事例があり、オープンソース版と有償のエンタープライズ版が存在します。オープンソース版でも製品版の80%〜90%以上の機能が使えるとのことで、以 (続きを読む)

 2013/02/15

【資料公開】ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜

みなさんこんにちは。@ryuzeeです。 2013年2月15日に目黒雅叙園で行われたデブサミ2013で登壇してきましたので、その際の資料を公開します。 「いつまで手でデプロイしてるんですか?」ってキャッチーなタイトルにしたのは、公募セッションの申し込みの時に目につくようにしたかったためで、会場でアナウンスしてくださ (続きを読む)

 2013/02/12

Route53のDNSフェイルオーバー機能を使ってみた

詳しくはAWSのブログを見ると良いですが、Route53にDNSフェイルオーバー機能が追加されたとのことなので、早速自分のサイトに設定してみました。 ちなみにこの機能で出来ることは、簡単に言えば、Route53で設定したヘルスチェックに従ってサーバを監視し、監視リクエストが失敗した場合は自動的に他のサイトに転送すること (続きを読む)

 2012/11/12

CakePHP2アプリケーションをCapistranoでデプロイする

アプリケーションのデプロイを自動化すべきなのは言うまでもないことです。 一応手動でデプロイを行う場合の問題点について整理しておくと以下になります。 プロジェクトの期間中そして運用に入ってからも何度も手でデプロイするということはとてつもなく多くの時間を手作業に費やすことになる デプロイ先の環境の数が多くなればなるほど作 (続きを読む)

 2012/11/08

CakePHP2系でマイグレーションを利用する方法

マイグレーションを使わないで、データベースのスキーマ構成を変更したりすると、特に複数人で開発しているような場合にこんなことが起こったりします。 自分の開発マシンとテストサーバ等でスキーマ構成が違っている さらには他人の開発マシンともスキーマ構成が異なっている しかもどっちがあっているか分からない 例えば、みんな (続きを読む)

 2012/11/04

【資料公開】CakePHP+Jenkinsによるアジャイル開発

みなさんこんにちは。@ryuzeeです。 2012年11月3日,4日の二日間にかけて行われたPHPMatsuri 2012で、登壇させていただきました。 その際の資料を公開しておきます。 内容は過去にやったワンクリックデプロイ勉強会の内容にCakePHPっぽい内容を追加した感じです。 大分前からこのあたりの話はして (続きを読む)

 2012/07/01

CentOS6にGitLabをインストールする方法

GitLabはgithubのクローンのようなもので、表に出せないけどgithubみたいなものが使いたいという場合に有効だろう。 ここではCentOS6 (x86_64)にインストールする手順を解説する。 yum用の追加レポジトリの設定 CentOS6の標準レポジトリには存在しないパッケージが多数あるため、epelとre (続きを読む)

 2012/05/25

CakePHP2.0+Jenkinsで継続的インテグレーションを行う方法

みなさんこんにちは。@ryuzeeです。 CakePHP2.0になってテスティングフレームワークがSimpleTestからPHPUnitに変わったことで、以前に比べると大分簡単にはなっていますが、まとまった情報が少ないので整理しておきます。 事前準備 JenkinsのインストールおよびCIサーバへのPHPのインストール (続きを読む)

 2012/03/11

Vagrantがとうとう正式版に

自動化の強い味方であるVagrantが先日とうとうバージョン1.0.0の正式版になりました。 VagrantはOracle VirtualBoxを利用した仮想マシンをコマンドラインから作成してくれるソフトウェアです。 設定ファイルをRubyで書くことができ、Chef等とも連携できるので、開発環境をコマンドライン一発で (続きを読む)

 2012/03/09

【書評】手動デプロイからの卒業指南書「継続的デリバリー」

みなさんこんにちは。@ryuzeeです。 継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化 著者/訳者:David Farley、Jez Humble、和智 右桂、高木 正弘 出版社:KADOKAWA/アスキー・メディアワークス 発売日:2012-03-14 大型本: (続きを読む)

 2012/02/02

大きなリリースの際にチェックすべき34のこと

以前に作っておいた大きめなリリースをする際にチェックしておくべきことのリストが役に立ちそうなので公開しておきます。 僕の場合は普段はワンクリックデプロイが多いんだけど、かなり大掛かりな変更をするケースが年に数回あったりするので、その際にこういうリストを使ってリリース計画をチェックしています。(もちろん大掛かりなリリース (続きを読む)

 2011/11/09

VagrantとAmazon EC2でVagrantファイルを共用する

みなさんこんにちは。@ryuzeeです。 誰も興味なさそうなVagrantシリーズの第四弾。 さて昨日まではVagrantとChef Soloを組み合わせるパターンについて説明を行ったわけだが、せっかくローカルの環境構築を自動化できたので、これらの設定ファイルを利用してAmazon EC2上にも同じように環境を構築でき (続きを読む)

 2011/11/08

VagrantとChef Soloを組み合わせて環境構築を自動化する

みなさんこんにちは。@ryuzeeです。 前回まではVagrantを使ってVirtualBoxの仮想インスタンスを簡単の構築するところまで説明した。 ただそれだけだったら予め作成しておいたイメージをコピーするのとたいして変わりがないので、あまり有難味を感じないかもしれないが、ここからが本番だ。 Vagrantの特徴とし (続きを読む)

 2011/11/01

VagrantをPluginで拡張する

みなさんこんにちは。@ryuzeeです。 前回の話(Vagrantで簡単仮想マシン構築)の続きです。 Vagrantはプラグインを利用することによってvagrantコマンドを拡張することができます。 ここでは入れておくと便利な2つのプラグインを紹介します。 Vagrantboxes Vagrantboxesは http (続きを読む)

 2011/10/28

Vagrantで簡単仮想マシン構築

VagrantはOracle VirtualBoxを利用した仮想マシンをコマンドラインから作成してくれるソフトウェアだ。 設定ファイルをRubyで書くことができ、Chef等とも連携できるので、開発環境をコマンドライン一発で作成することができる。更にはCapistranoと組み合わせてアプリケーションのデプロイも一括で行 (続きを読む)