タグ

CIに関するhildeのブックマーク (13)

  • CucumberとJenkinsを使って、PHPなどで作られたリモートのWebアプリの受け入れテストを自動で行う - orangain flavor

    WordPressのようにPHPなどでできたWebサイトの振る舞いを自動でテストしたいと思い、仕組みを作ることにしました。 きっかけは、設定が間違ってて、トップページは正常に表示されているにも関わらず、個別のエントリページではエラーになってることがあったためです。 別にWordPressに限った話ではなく、Pythonとかで開発してても必要になる話なので、簡単なところから始めてみようというわけです。 なお、Rubyの世界をあまりわかってないので、Ruby周りの勉強を兼ねてます。間違っていたら教えてもらえるとありがたいです。 やりたいこと ページがアクセスできるかチェックしたい。 なるべくサーバーとか立てずに簡単にやりたい。 将来的にはちゃんとしたブラウザでの動作チェックに応用したい。 構成 今回の受け入れテストは、以下のライブラリを使って実現します。 Cucumber Capybara C

    CucumberとJenkinsを使って、PHPなどで作られたリモートのWebアプリの受け入れテストを自動で行う - orangain flavor
  • Javaだけじゃない入門jenkins

    Javaだけじゃない入門jenkins 1. Javaだけじゃない入門Jenkins実践「継続的インテグレーション」 JJUG Night Seminar 2012/09/26 太田 健一郎 @oota_ken 2. 目次 自己紹介 Java以外でのJenkinsの活用 Lightweight Languageでの活用 環境独立の実現 ユニットテスト テストの並列実行 コードカバレッジ 静的検証 コード重複分析 3. 自己紹介 経歴  社内まったりツール開発 5.5年 (JavaScript & Perl)  お客様デスマソルジャーSE 4年 (主にJava、一部COBOL)  ソーシャルゲームQA 1.5年 (再び、JavaScript & Perl)  QAっていうけど、品質に関わることはほぼ何でもやります><  最近だと、Jenkinsの周り以外にも 

    Javaだけじゃない入門jenkins
    hilde
    hilde 2012/11/25
  • PHPerのためのJenkins

    序文 ソフトウェア開発とはままならないものだ。そもそも開発と銘を打たれているにも関らず製造工程のような量的単位「工数」で管理しようとしているので致し方無いのかも知れない。そう、開発と言うからには「作ったことの無いものを作る」ということであるにも関わらず、 ・「何人がかりで何日で出来る?」と聞く ・「何日くらいですかね、やってみないと分からないけれど」と答える ・「分からないけれど」はとりあえず無視して、何日かの余分をとってスケジュールを作る そんなことをしていれば古典落語に出てくる「致し方ないけれど起こる残念な出来事」のようなオチにしかならないのは目に見えているのだが、これは現実によく有るやりとりである。しかし、これでもまだマシな部分も有る。少くとも作ろうとしてとしている人が「何日で出来そうか?」について答えているからだ。作ろうとしている人ではない人が当てずっぽうに答えてスケジュールが決ま

    hilde
    hilde 2012/11/25
  • CakePHPのアプリのコーディング規約チェックを自動で行う方法

    みなさんこんにちは。@ryuzeeです。 PHPで書かれたソースコードがコーディング規約に準拠しているかどうか確認するには、PHP_CodeSnifferというツールを使うのはよくご存知だと思いますが、今回はCakePHPを使って書いたソースコードの規約をチェックする方法を紹介します。 なお、このような規約チェックはローカル環境で気が向いた時にやるだけではなく、継続的インテグレーションにも組み込んで実施することが望まれます。 PHP_CodeSnifferのインストール特にチャンネルの追加は必要ありません。 インストールが完了すると、phpcsコマンドがインストールされます。 また標準では、Squiz, PEAR, Zend, MySource, PSR1, PSR2 , PHPCS の7個の規約がインストールされます。このうちMySourceは自分でのカスタマイズ用です。 CakePHP

    CakePHPのアプリのコーディング規約チェックを自動で行う方法
  • ノーフレームワークのレガシーPHPがCIに乗るまで

    ついに仕事で触っている PHP のコードがほんの一部のテストとは言え CI に乗った。 正直これは感動ものだ。 今回はここに至るまでの長大な物語をダイジェストでお届けしようと思う。 有史以前PHP 3 で作られた 1 URI : 1 スクリプト + 共通関数 時代 当然のように PHPHTMLSQL 混在まともなテスト環境がなかったので似た環境をどうにか作るパスとか絶対で埋め込みまくりなのでとりあえず共通のパス情報の変数に差し替えまくりテスト環境用のコードと番環境用のコードが違うオール目視 つらかった。 みなさんの予想通りバージョン管理なんてものは存在しなかった。 素朴なPHPを徐々にclassにclass になれば phpdoc を書きやすくなるいきなり実行しないようにすればテストしやすくなる これは後から気づいたんだけど、結局フロントはロクに自動テストできてない一時期 p

    hilde
    hilde 2012/04/16
  • CakePHPのコーディング規約違反をPHP_CodeSnifferでチェックする #CakephpAdvent2011 : candycane development blog

    この記事はCakePHP Advent Calendar 2011に参加しています。 記述したコードの表記ゆれを防ぐ為の手法としてコーディング規約があります。見通しが良く一貫性のあるスタイルで記述されたコードはメンテナンス性を維持する助けになり、コードレビューの際の不毛な論争を少し減らす手助けになります。今回はCakePHPでアプリケーションを開発する際にコーディング規約を適用する方法を検討してみます。 どのコーディング規約を適用するか PHPではPEARのコーディング規約が一般的に知られていますが、PEARはライブラリという事もありこの規約をそのままアプリケーションの実装に適用するのは冗長かもしれません。また同様にZendフレームワークやSymfonyもコーディング規約を持っています。 CakePHPでアプリケーションを実装する場合を考えてみても、PEARのスタイルはCakePHPが採

    hilde
    hilde 2011/12/26
  • Jenkins, Seleniumを使った自動テストの課題とこれからの取り組み

    Uncategories Jenkins, Seleniumを使った自動テストの課題とこれからの取り組み こんにちは。QAの井上です。 今回は現在QAチームで行っている自動テストに関する課題、それに対する取り組みについて紹介します。 まだまだ詰めが甘いところがあると思うで、フィードバックいただけるとうれしいです。 早速ですが、QAチームではCIツールにJenkinsを使用していて、約8割がSeleniumによるテストケースでできています。 テストケースの作成から実行まではざっくりですが、以下のようになっています。 - テストケースはFirefoxのIDEを使用して作成 - 作成したテストケースはSVNに保存 - 毎日夜中に最新のソースコードに対してテストを実施 - テストの実施は、Jenkinsのseleniumhqプラグインを使用して、複数台のクライアント(Windows)上でSelen

    Jenkins, Seleniumを使った自動テストの課題とこれからの取り組み
  • 試そう!PHPコードを解析して修正点を指摘·phpca MOONGIFT

    phpcaはPHPを静的に解析して小さなミスやコードの修正点を指摘してくれるソフトウェアです。 PHPを書く際にどう書けば小さなミスによるバグの発生を防げるでしょうか。一定の基準に沿って記述することで整然としたコードを実現し、可読性をあげることでバグの混入を防ぐことができます。そこで使いたいのがphpcaです。静的にPHPファイル(ディレクトリ単位も可)を解析し、修正すべき場所を指摘してくれます。 解析処理を実行しています。PHPのパスと、解析したいファイルやディレクトリ名を指定して実行します。解析処理中は随時メッセージが出力されます。 メッセージ例です。タブの利用や行の使い方に関してなどメッセージが表示されます。 ?>がない場合もメッセージが出ます。これはPHPの書き方としては逆かも知れません(確かない方が良いという話なので)。 PHPを書く上でありがちなミスやバグにつながりそうな指摘を

    hilde
    hilde 2011/12/26
  • Jenkins で PHP の CI を、ついでに、BDD(ビヘイビア駆動開発) もやってみよう♪(実は失敗 orz) : : lefthandz.org

    Python ばかりやってましたが、クラウドに近づくためには基中の基 PHP も習得しなければと言うことで、奮闘しています。 さて、何かものを作ろうと思ったときに、仕様に想いを馳せますが、覚えていられません。かと言って、仕様書を書くのも面倒なので、いっそのことテストコードにしてしまおうと。そして、テスト結果は記録しておきたいなと。 で、さっそく PHP の CI環境をチェックしました。 基は Jenkins x Phing Plugin x xUnit Plugin です。 ここで TDD するには、PHPUnit を使うところですが、TDD ではなく、BDD (ビヘイビア駆動開発) というのを知ったので、ついでに、それを実現する PHPSpec も導入してみます。 PHPSpec とのつなぎは Stagehand_TestRunner です。 (注記:試みは失敗しました orz 理

    hilde
    hilde 2011/12/25
  • PHPもやらなきゃHudson « BEAR Blog

    Published on 2011年1月17日 in PHP. 0 Comments Tags: ant, ci, hudson, php, phpcs, phpdepend, phpdoc, phpmd, TDD, メトリクス, 継続開発. Hudsonとは Hudsonとは「継続インテグレーションサーバー」です。公式サイトから説明を引用します。 Hudsonは、ソフトウェアのビルドやcronで起動するジョブなどの繰り返しのジョブの実行を監視します。これらのうち、Hudsonは現在次の2つのジョブに重点を置いています。 1. 継続的なソフトウェアプロジェクトのビルドとテスト: つまり、CruiseControlやDamageControlが行うこと。 一言で言えば、Hudsonは、容易ないわゆる「継続インテグレーションシステム」を提供し、開発者が変更をプロジェクトに統合でき、ユーザーがよ

  • CakePHPアプリをHudsonで継続的インテグレーションする方法

    この記事はCakePHP1.2系またら1.3系を対象としており、CakePHP2.0系では別のアプローチになります。 不思議なことにCakePHPアプリの開発でHudson使って継続的インテグレーションしている事例をほとんど見たことがないんだけど、個人的にはPHPアプリだって全部HudsonでCIすべきと思っているのでやってみた。 (ちなみに最近までphpUnderControlでCIしていた) 概略 CakePHPアプリでCIやろうとして問題になるのは、 CakePHPでのテストライブラリがSimpleTestでありJUnit互換のテスト結果を出力できないこと さらにSimpleTestでは一応XMLでの結果出力ができるのに、CakePHPreporterにcake_xml_reporterとかが無くて、html出力かテキスト出力しかできない という2点にあるので、この2点をクリアする

    CakePHPアプリをHudsonで継続的インテグレーションする方法
  • Hudsonとphp - 例えば、PHPを使う

    php用のHudsonの設定と言えば、 HudsonでPHPのユニットテスト http://d.hatena.ne.jp/ssogabe/20081102/1225642743 の記事があったりしますが、こちらで紹介されてる設定をそのままコピペしたとしても 近頃(すくなくとも今年4月以降)のhudsonだとパスがうまくいかなかったりします(うろおぼえ) なので、Phingプラグインを使う場合は、ビルドパスとか以下の感じにすると動くと思います。 というか、最近だったらSebastian Bergmann純正のテンプレートにそうのがトレンディーじゃないでしょうかね http://github.com/sebastianbergmann/php-hudson-template あ、PEAR的にはCruise Control&PHPUnderControlがナウでヤングですよ http://wik

    Hudsonとphp - 例えば、PHPを使う
    hilde
    hilde 2010/09/20
    ナウなのか古いのかどっちだ@@
  • PHPでもHudson使うべし

    今までもPHP案件でCIはしているんだけど、環境にはCruiseControl+phpUnderControlという構成で、これももう古いなぁと思ったのでHudsonに移行してみた。 感触としては、PHP案件でもHudson使うべし、でいいんじゃないかな。 導入 今回導入した環境はCentOS5.3なので、rpmを使ってインストールできる。 sudo rpm --import http://hudson-ci.org/redhat/hudson-ci.org.key wget http://hudson-ci.org/latest/redhat/hudson.rpm rpm -Uvh hudson.rpm なお、当然のことだが、Hudsonを動作させるためにはJDKのインストールが必要なので、先にインストールしておく。 インストールが完了したら自動起動の設定をして、起動する。 /sbin/

    PHPでもHudson使うべし
    hilde
    hilde 2010/09/20
    おー会社でもつかうぞ
  • 1