タグ

2014年1月6日のブックマーク (13件)

  • Testing infrastructure with serverspec

    Checking if your servers are configured correctly can be done with IT automation tools like Puppet, Chef, Ansible or Salt. They allow an administrator to specify a target configuration and ensure it is applied. They can also run in a dry-run mode and report servers not matching the expected configuration. On the other hand, serverspec is a tool to bring RSpec, a testing tool for the Ruby programmi

  • 第8回Jenkins勉強会にてプロモーション広告におけるCI/CDの取り組みについて発表しました #jenkinsstudy

    マーケティングソリューションカンパニー開発部サービス運用部インフラ開発の石川です。 先日行われた第8回Jenkins勉強会にてプロモーション広告の継続的インテグレーション(以下、CI)/継続的デリバリー(以下、CD)に 関する取り組みについて紹介させていただきました。 タイトルは「Jenkinsはじめました」になっていますが、諸事情でタイトル通知後に少し内容を変更したため、 「はじめました」というよりは「結構使ってきました」というほうがしっくりくるかもしれません。 資料だけでは分かりにくい部分もありますので、このエントリーにていくつか補足したいと思います。 また、以下の内容においては具体的な数字や利用しているツールの詳細に触れることができない部分があります。 あらかじめご了承ください。 プロモーション広告におけるCI/CDの現状 今回はプロモーション広告での取り組みを事例として取り上げま

    第8回Jenkins勉強会にてプロモーション広告におけるCI/CDの取り組みについて発表しました #jenkinsstudy
  • Jasmine/QUnitのテスト中にスクリーンキャプチャするプラグイン - Tech-Sketch

    JavaScriptに対する自動テストツールも充実し、Jenkinsなどを用いてCIをまわす人も増えてきました。 しかし、レスポンシブレイアウトや、Floatのレイアウト崩れなど、人間が見ればすぐに分かる「見た目」に関する問題は、自動テストによる判定がし辛いのが実情です。 この記事では、この問題を解決するために作成した、テスト中にスクリーンキャプチャを取るためのプラグイン「phantom-capture」を紹介します。 現状の問題点 Jasmine や QUnit といったテストフレームワークや、 PhantomJS , sinon.js といったツールの助けを借りることで、JavaScriptの自動テストが行えるようになり、サーバ側だけではなく、クライアント側にも自動テストを適用する人が増えてきています。 ビジネスロジックやバリデーション、DOMの構築結果などは問題なくテストすること

    Jasmine/QUnitのテスト中にスクリーンキャプチャするプラグイン - Tech-Sketch
  • jQuery Text Editor

    jQuery TE is a jQuery plugin. It is a lightweight and very useful HTML editor. And it works with WYSIWYG model. Most importantly, it can be integrated into your system in 1 minute. And you can modify it as you want in terms of interface. Even you can change the css classes.

  • vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境 - たけまるの日記

    vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境 巷で話題のvagrant、chefを試してみました。 折角なのでそれぞれ最新バージョンを積極的に入れてみることにしました。(結構苦労しました…) とりあえず手っ取り早く環境を作る手順を書いて行きます。 前提環境 ホストマシン環境 MacOS 10.9 VirtualBox 4.3.6 Vagrant 1.4.1 Chef 11.8.2 vagrant-omnibus 1.2.1 ruby 2.0.0p247 gem 2.0.3 仮想マシン環境 CentOS 6.5 64bit Apache2.2 (yumレポジトリ) PHP5.5 (remiレポジトリ) MySQL5.5 (公式rpm) 各種ソフトウェアのインストール VirtualBox 仮想マシンソフトです。以下URLからダウンロードしてインストー

    vargrant+chefでつくるPHP5.5+MySQL5.6+CakePHP3環境 - たけまるの日記
  • Capistrano3のデプロイフレームワークの使い方 - Qiita

    Capistranoはバージョン3から汎用的なデプロイフレームワークになりました。タスクのフックを利用することで簡単に自分のアプリケーション環境に特化したデプロイプロセスを記述することができます。 稿では、この汎用化されたデプロイ機能の使い方に焦点を絞って解説したいと思います。より基的なCapistrano3の解説は 入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineers' Blog がよくまとまっているので、そちらを参考にしてください。この参考記事では "5. Capistranoデフォルトタスクの消去" でCapistranoの新規導入時のコストを下げる目的で、このフレームワーク機能を消去しています。稿はこのフレームワーク機能の使い方を解説するものです。 deployとframeworkの2つの抽象度が用意されている Capi

    Capistrano3のデプロイフレームワークの使い方 - Qiita
  • Vagrant + DockerでSinatraを動かす

    Vagrant + DockerでSinatraを動かす tcnksm/docker-sinatra 簡単なsinatraアプリケーションをDocker上で動かしてみた. まずはsinatraアプリケーション.特別なことはなく,Procfileとconfig.ruを準備して,foremanで動かす.外部からのアクセスを有効にするため,ListenAddressを指定しておく. #Procfile web: bundle exec rackup config.ru -p 4567 -s thin -o 0.0.0.0 次に,Vagrantの設定.VagrantはDockerのprovisioningが有効な1.4を利用する.vagrantのインストールは以下のBrewfileを準備して,brew bundleする. tap phinze/homebrew-cask install brew-

  • CakePHP2でユニットテスト 〜バリデーション編〜 | tagamidaiki.com

    まだまだあけましておめでとうございます。 年始をいかがお過ごしでしょうか。 私はいつものように、日常と変わらない生活をしています。 さてさて、ユニットテストの件ですが、以前更新して随分時間が経ってしまいましたが、書いていこうかなぁと思います。 今回はバリデーションをテストするための方法を書こうと思います。 前回の routes.php に対するテストの記事は以下になります。 CakePHP2でユニットテスト 〜route.php編〜 バリデーションを適応していく 今回はUserモデルに対してnameにnotEmptyを、telに対して独自のバリデーションであるcheckNotEmptyとnumericOnlyを適応していると仮定します。 User.php App::uses('AppModel', 'Model'); class User extends AppModel { public

  • 2013年Rubyの話題を一挙に振り返るまとめ | Engine Yard Blog JP

    Chef、 PHPにつづき、Rubyの今年2013年を今年人気を集めた記事をテーマ別にまとめました。はてなブックマークの数と一緒に振り返っていきます。今年の2月24日にRuby20周年を迎え、ruby-2.0.0がリリースされました。他にもRails4のリリース、RubyKaigiの再開など多くのトピックがありました。 目次 Ruby20周年!そしてruby-2.0.0, ruby-2.1.0のリリース 言語実装への興味、ガベージコレクションほか Rubyのひろがり Rails4のリリースとRailsの成熟 テスト、CI 開発環境、手法、デザイン チュートリアル、Ruby, Railsを始める Ruby 話題の 作りました! 新しいライブラリ ログ・マネージメント fluentd Tips! コーディング クライアントサイドとバックエンド Rubyを取り巻く環境、組織 TwitterがR

    okinaka
    okinaka 2014/01/06
  • Dockerが利用しているAUFSとLXC - $shibayu36->blog;

    最近Dockerをいろいろ触ってみていて以下の様な記事を書いたりしました。 Dockerで立てたコンテナにsshで接続する - $shibayu36->blog; serfとDockerでクラスタを組んでみる - $shibayu36->blog; 番環境のBlue-Green Deploymentの仕組みのプロトタイプを作っていた - $shibayu36->blog; Docker, Mesos, Sensu等を利用したBlue-Green Deploymentの仕組み - $shibayu36->blog; 社内用Docker Registryを立てる - $shibayu36->blog; docker commitでCMDやENVなどを指定する - $shibayu36->blog; docker inspectでDockerコンテナの情報を取得する - $shibayu36-

    Dockerが利用しているAUFSとLXC - $shibayu36->blog;
  • tmuxで大量のサーバーを操る最高の方法 - Qiita

    こんにちはこんにちは 私は日々大量のサーバーで作業をする必要があるので tmux が欠かせません そんな中最高便利な記事が先日公開されました Tmuxでウィンドウをインタラクティブに移動する - Qiita [キータ] しかしこの記事が全く話題になっていません おそらく理解されていないのだと思います ということで私がもう少し詳しく説明したいと思います 先程の記事と同様に ssh-configにはパターンが使えるので便利 - Qiita [キータ] tmuxで色んなホストにsshする時に便利な.ssh/config - Qiita [キータ] の合計 3 記事を組み合わせて初めて達成できる最高のソリューションを紹介します tmux のウィンドウの名前 tmux で大量のウィンドウを立ち上げて ssh しているとどのウィンドウがどこのホストにいるのか分からなくなります そこで先程紹介した 2

    tmuxで大量のサーバーを操る最高の方法 - Qiita
  • BerkshelfとChefのインストールに苦労した話 - DQNEO起業日記

    例えばberkshelfひとつ入れるのに、膨大な知識がいる。 もしあなたが単にPHPサーバを作りたいだけだったとしても、berkshelfをちゃんとしたモダンなやり方でいれるには膨大な知識がいる。 例えばruby, rbenv, ruby-build, gem, bundlerなどだ。 まあ、rbenvとruby-buildで最新のrubyを入れること自体はそんなに難しくない。Ruby言語の知識も必要ない。 運よくgem install berkshelfが一発で成功したら、別に問題はない。おめでとう。 そういう人はここから下は読む必要はないです。 ところがである。 ひとたびgem installが失敗したら、そこからは茨の道である。 インフラの問題 gem installしたら "ERROR: Could not find a valid gem 'chef-solo' (>= 0) i

    BerkshelfとChefのインストールに苦労した話 - DQNEO起業日記
    okinaka
    okinaka 2014/01/06
    PHP をソースから入れるなら gcc の環境ぐらいは作れないとね。
  • Lsyncdのインストールと設定+α - 元RX-7乗りの適当な日々

    Lsyncdを入れてみた作業メモ。環境はCentOS 6系で、Lsyncdのバージョンは2.1.4。 Lsyncdは、Linux Kernelに組みこまれているinotifyを使って、指定したディレクトリ配下で変更が加えられた場合に、ほぼリアルタイムにrsyncで(遠隔のサーバなどに)同期をかけてくれるもの。 ↓の例での同期対象は、keepalivedの一部の設定ファイルと、HAProxyの設定ファイル。 同期先の設定 rsyncは特にデーモンで動かす必要も無いのですが、諸事情でデーモンで動かすことにしました。 # yum -y install rsync xinetdyumでインストール。 次に、"/etc/xinetd.d/rsync"を開いて、以下のように編集。 disable = no 次、"/etc/rsyncd.conf"を開いて、rsyncdの設定を以下のように入れてみた。

    Lsyncdのインストールと設定+α - 元RX-7乗りの適当な日々