JenkinsでFuelPHPのユニットテストを自動化してみた

f:id:watass:20150111232633p:plain

Jenkins、いいですよね。オペレーションの自動化には美があります。前回の記事ではGitによるデプロイ自動化を行いましたが、その時点で既にユニットテストの自動化は想定していたので、今回はそれを実現してみます。
これによって、機能を実装してプッシュする度に自動でデプロイされ、その過程でテストが自動で行われるので、特に通知がなければ動作が保証されるようになります。実際に本番環境への適用の際には、もう少ししっかりテストをする必要があるのかもしれませんが、開発環境レベルではテストを意識的に実施せずとも気兼ねなく開発を進めることができます。
ユニットテストにはおなじみのPHPUnitを使います。なお、前回のJenkins導入やデプロイ自動化の話はこちらの記事でまとめてありますのでよろしければどうぞ。

続きを読む

JenkinsでGitHubのプッシュ時に自動デプロイする

f:id:watass:20150111232633p:plain

Gitでバージョン管理をしていると、本番サーバにデプロイする際に、クライアントでpush、そして本番サーバにログインしてgit pull、ってやるのは面倒臭いですよね。そんな不毛な操作は自動化するのがプログラマとしては当然です。
GitHub上のリポジトリで、デプロイの自動化をやるにはWebhookやTravis CI、JenkinsなどのCIツールとの連携を考えます。選択肢は多々あり、それぞれにメリット、デメリットはありますが、今回は後々、FuelPHPユニットテスト自動化までを見据えて、Jenkinsによるデプロイ自動化を試してみようと思います。

続きを読む

SourceTreeでgitブランチモデルの運用を試してみる

f:id:watass:20141020203524p:plain

前回の記事ではFuelPHPのバージョン管理をやりまして、ソースコード管理のモデルがとりあえずできたかなという感じです。ただ、gitのバージョン管理をどんなブランチモデルでやろうかなと考えていたところだったので、今回固めてきました。
gitは非常に奥が深いですね。まだ全然把握しきれてはいないと思いますが、とりあえず雰囲気はつかめたと思うので、今後こんな感じのブランチモデルで運用していこーって概要と、こんなケースにはこうやってSourceTreeを操作するよって内容を備忘録的にまとめておきます。

あとで対応できないケースが増えて、モデルの見直しが必要になることもあるかもしれませんが、今はこれでいく!ということで・・・

続きを読む

FuelPHPのプロジェクトをGithubでバージョン管理する

f:id:watass:20141214211533p:plain

今回の記事もFuelPHPです。以前からコードを書いてはいましたが、プログラミングするなら、今の時代はgitでバージョン管理したいですよね。
インフラはみんなだいすきAWSなので、gitサーバを立てるのは難しくないけど、いちいちインスタンス立ち上げるのももったいない、別に隠すものでもないし、Github使おう。
というか、FuelPHP自体がgitでバージョン管理されてるの?え?じゃあ管理しにくくね?え?モデル、コントローラー、ビュー別にそれぞれリポジトリ作るの?え?え?
・・・このように、フレームワークのプロジェクトのバージョン管理って結構面倒くさいらしいんですが、色々ググって、とりあえずこれでいいか、というところまで辿りつけたので記事にまとめておきます。

続きを読む

FuelPHPとAWS RDSでMVCプログラミング

f:id:watass:20141214211533p:plain

年末にかけてインフルエンザの猛威を受けてしまい、数日ダウンしておりました。
体調はすっかりよくなったのですが、まだ体内を菌がうようよしているらしいので、念のため自宅療養中です。それはさておき、既にネタとして用意しておいたRDSを使ったFuelPHPMVCモデルプログラミングについて、せっかくですから忘れないうちに記事にしておこうと思いたち、病床から記事を書いてます。
年末年始はようやくまとまった時間が取れるということもあり、VagrantとかDockerとか色々試すぞーと張り切っていただけに、体調不良で早速出鼻をくじかれるとは・・・なんとも情けない限りですね。

続きを読む

AWSソリューションアーキテクトになってきた

f:id:watass:20141221163212p:plain

めでたく合格しました。正直受験したときには「あ、落ちたな(確信)」となるぐらい難しかったのですが、ギリギリのスコアで合格できたみたいです。やったぜ。
AWSの利用経験は2ヶ月くらいしかなく、あんまり実践経験がないため、試験は難しく感じました。難しい難しいとはよく聞くので、それなりの覚悟で臨んだつもりだったのですが、それでも難しく感じます。やばいです。
現時点では明確な参考書もなく、試験内容も絶妙に曖昧な記憶を揺さぶる内容になっていて、非常によくできているので丸暗記ではなかなか合格できなさそうです。
本記事では、AWS認定プログラミングアグリーメントに反しないレベルで、今まで私がやってきた勉強法などを公開します。これから同試験を受験する方の参考になれば幸いです。

続きを読む

FuelPHPの導入とVCモデルでプログラミングしてみる

f:id:watass:20141214211533p:plain

ようやくプログラマらしい記事が書けます。コーディング全然してませんでしたからね。
FuelPHPとは、超高速開発をサポートするPHPフレームワークです。

FuelPHP » A simple, flexible, community driven PHP5.3 framework.
http://fuelphp.com/

フレームワークによるプログラミングは、従来のプログラマが開発してきた様々なコンポーネントを、簡単に利用できるため、開発効率を大幅に改善することができると言われています。
PHPフレームワークでは、CakePHP、CodeIgniter、Symfonyなどが普及していますが、FuelPHPはその中のひとつで、CodeIgniterの開発者が集まって開発された、従来のフレームワークの問題を解決するフレームワークとのことです。
数々の選択肢から、私がFuelPHPを選んだ理由は、知人が利用していたから、という大変安直な理由ではありますが、できれば別のフレームワークも一度は触って比較してみたいですね。

なお、PHPフレームワークは単純なPHPプログラミングとは異なり、MVCフレームワークといった新しい概念を理解する必要がありますので、本記事ではFuelPHPの導入、単純な表示プログラムの作成までをまとめておきます。

続きを読む