LoginSignup
1
4

More than 5 years have passed since last update.

はじめに~アジャイルでDevOpsなシステム構築実践~

Last updated at Posted at 2017-12-12

まえがき

お客さんの元で新規開発したシステムのリリースが終わり、安定稼働しています。
振り返りの意味を込めて、小さなシステム構築をしながら、アジャイル開発手法や技術などの解説を記事にします。

利用する言語など

開発環境はDockerを利用して構築します。

  • バックエンド LaravelPHP 5.5系
  • フロントエンド Vue.js
  • データベース MySQL
  • バージョン管理 GitHub
  • CI TravisCI
  • リグレッションテスト Selenium
  • そのほか Docker

アーキテクチャ

LaravelでRestAPIを実装し、JavaScriptフレームワークはlaravel5.4から標準のVueを使います。
本当はマイクロサービスアーキテクチャを意識し、強みのあるバックエンドはGoで実装したかったのですが、小さいシステムで、工数かけずに作りたかったので、Laravelにしました。
(PHPは言語の特性上マイクロサービスアーキテクチャに向いていないと考えています。)

CI/CD

規模が小さく、オープンソースでも構わないので、バージョン管理はGitHub、CIツールはTravisCIを利用します。
CIをAWS上ですべて行うことも興味があります(時間があればハンドリングして記事にしたいです)。

テスト

4つのテストレイヤーで、ガバレッジ90%を目指します。
テストレイヤーを分け、役割分担をすることで、負荷なくテストガバレッジを上げられると考えています。

1. ユニットテスト

メソッドレベルのテスト。メソッドは原則的にLaravelのファサードを使います。

2. インテグレーションテスト

APIは原則的にメソッドを組み合わせて作成します。そのAPIに対するテストをインテグレーションテストとします。

3. ビューのユニットテスト

Vueのコンポーネント単位でテストをします。

4. リグレッションテスト

Selenium + mocha + chaiを使います(予定)。

アジャイルでDevOpsなシステム構築実践 目次

はじめに
膨大で小難しい資料よりも、誰でもわかりやすいユーザストーリー
開発する単位を小さく小さくイテレーション

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4