PHPerKaigi 2020の登壇資料です。 サンプルアプリはこちら https://github.com/fortkle/ga-phperkaigi-todo-api
DBのレイヤーを含むエンドツーエンドテストやDBに依存したコンポーネントの自動テストがたくさんあると、全てのテストが終わるまでに長い時間がかかるようになってしまうことがあります。DBのクエリ実行はネットワークIOやディスクIOなどを含んだ高コストな処理だからです。 Docker を少し工夫して使うと、お手軽にテスト中のDBのクエリ実行にかかる時間を削減できます。自動テストが完了するまでの待ち時間を短縮し、開発のフィードバックサイクルをより早く回せるようになります! MariaDB を用いたプロジェクトの実績では、DBアクセスを伴うテストケースが 153件 ありましたが、この方法によりそのテストスイートのローカル環境での実行時間を約 43% 削減できました(約 145.7s → 約 83.3s)。 どうやって? Docker で tmpfs を使います。 tmpfs tmpfs とは、ディス
業務システム開発においてCI(継続的インテグレーション)サーバは欠かせなくなっています。自動テストを行ったり、開発用サーバにデプロイするなどといった手順が自動化できるのが魅力です。 今回はそんなCIサーバの中でもオープンソース・ソフトウェアのものをまとめて紹介します。オープンソース・ソフトウェアの場合、特定のプログラミング言語についてサポートされているものが多いので、自分たちのプロジェクトで使っている言語に合わせて選択するのが良さそうです。 Jenkins CI 最も有名なCIサーバです。Javaで作られていますが任意のプログラミング言語に対して自動テストが可能となっています。 Welcome to Jenkins CI! | Jenkins CI Integrity Ruby製のCIサーバです。バージョン管理はGitのみサポートしています。 Integrity | Continuous
CI(継続的インテグレーション)をはじめる上で、テストビルドする環境は毎回リセットされる方が都合が良いです。余計なデータが残っていたためにテストに失敗したり、逆に成功したりと言った不正確性のが残るのはよくありません。 そこで登場したCIサーバがDroneです。Dockerを使ってテスト環境を毎回構築、破棄してくれます。しかもDroneのCI環境構築についてもDockerを使って簡単にできます。ぜひ新しいCIサーバとしてチェックしてください。 なおDroneはWebサービスも提供しており、オープンソースのプロジェクトについては無料、5つのプライベートプロジェクトチェックで25ドル/月からとなっています。 Droneのトップページ Droneのインストール 今回はさくらのクラウドを使ってCoreOSを立ち上げています。 ログインしたら joaodubas/docker-droneio をpul
受託開発やっている、いまの開発スタイルを書く。 この前のブログはわりとフォーカスをしぼったはなしだったので、今回は簡単に全体のはなし。(書く順番が逆っぽい) 今回のプロジェクトではアーキテクトとして、この↓開発スタイルの構築と運用をしていて学び多い。 バージョン管理はGit プロジェクト用サーバーにGitBucketをたててソースコードを管理している。 オフショアと仕事をするなど、開発拠点がわかれることが多い。 ソースコードに対してロックをとったりしちゃうと、他の人が開発すすめられなくなるし、拠点別れて並行開発する大規模案件だからこそ、Gitを使う必要がある。 各開発者がブランチをきって開発をして、プルリクでレビュー依頼、からのマージをすることで、レビューが済んでいるソースしかmasterブランチに取り込まれない、というのもイイ。 弊社の”エンジニア”はみんな当たり前のようにGitを使って
Scrutinizerが凄い!! ScrutinizerというサービスがPHPの静的解析出来て凄いというスライドを読んで試しに使ってみたら思いの外すごかった。 公式サイトURL https://scrutinizer-ci.com/ スライドの記事 http://www.slideshare.net/hinakano/scrutinizer-ciphp オープンソースのリポジトリ(publicリポジトリ?)なら無料で利用出来るようです。 静的解析が優秀! Scrutinizerでは初期設定の段階で、php-sim、pdepend、php-analyzerツールが有効になっています。 これらツールの他に設定で、 PHP Code Sniffer PHP Change Tracking Analyzer PHP CS Fixer PHP Mess Detector Security Advis
みなさんこんにちは。@ryuzeeです。 2012年11月3日,4日の二日間にかけて行われたPHPMatsuri 2012で、登壇させていただきました。 その際の資料を公開しておきます。 内容は過去にやったワンクリックデプロイ勉強会の内容にCakePHPっぽい内容を追加した感じです。 大分前からこのあたりの話はしているのですが、まだまだデファクトスタンダードでどこの会社でもやっているという状況にはほど遠く、ようやく各社取り組み始めたところ、という感じな気がします(もちろん大分状況は変わってきた) 参加者の方に聞いたところ、環境構築含め自動化されているのは2名くらいでした。 せっかくフレームワークを使い倒して高速に開発できるようになっても、もっと他に高速化すべき箇所もあるし、そもそもその速度を継続できないと意味がない、いまそのあたりができていないならできるところから着実に改善していくといいん
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く