タグ

PHPとCIに関するhildeのブックマーク (8)

  • PHPerのためのJenkins

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

    hilde
    hilde 2012/11/25
  • ノーフレームワークのレガシー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
  • 試そう!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は、容易ないわゆる「継続インテグレーションシステム」を提供し、開発者が変更をプロジェクトに統合でき、ユーザーがよ

  • 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