一般記事

"サービスの成功にコミットする"ために自社開発したフランジアのCI/CD―エンジニアたちが賛同して自ら開発に名乗りを上げて生まれたツール

この記事を読むのに必要な時間:およそ 2.5 分

ほかのツールにはない強み

Framgia CI/CDには次のような特徴があります。

  • 並行ビルドが可能
  • 水平スケーラビリティ
  • 独立したビルド
  • 簡単な設定(YAMLで)
  • ビルド環境のカスタマイズ
  • コマンド設定可能
  • プラグインによる機能拡張
  • Capistrano,Rocketeer,Ansible,Envoy,Ansistranoなど多数の自動デプロイツールをサポート
  • ビ ルド・デプロイのイベントを簡単にSlack/Chatworkへ通知

Framgia CI/CDの初期バージョンはJenkinsベースで1つのプロジェクトが同じデータベースで共有されていたため,並行ビルドや水平スケーラビリティはできませんでしたが,現行のVer.2は商用のCI/CDツールとほぼ同じ機能が使えます表2)⁠

表2 Framgia CI/CDとほかの商用CI/CD機能の機能比較

表2 Framgia CI/CDとほかの商用CI/CD機能の機能比較

また,Framgia CI/CDは表3に示す言語・フレームワーク,オープンソースのライブラリをサポートします。

表3  Framgia CI/CDがサポートする言語/フレームワーク/ライブラリ

言語/フレームワークライブラリ
Ruby/Ruby on Railsbundler-audit
RSpec
Brakeman
Reek
RuBocop
rails_best_practices
PHP PHP CPD( PHP Copy/Paste Detector)
PHPMD(PHP Mess Detector)
PHP Depend(PHP Depend)
PhpMetrics
phpcs(PHP CodeSniffer)
PHPUnit
JavaScript & CSS ESLint
scss-lint
Java android-lint
Checkstyle
FindBugs
PMD
JaCoCo
Cobertura
Swift SwiftLint
Unit-Test
Integration-Test
E2E Test

オペレーションコストとコミュニケーションコストを大幅削減

プロジェクトの9割でFramgia CI/CDが導入されるようになり,レビューの工数を大幅に削減できました。削減できた時間を,ロジックの実装・設計などエンジニアが本来行うべき作業に割くことができ,開発のスピードアップと品質向上を実現できました。お客様からの評価も高く,特に自社に開発チームがいないお客様にとっては,サーバのデプロイなどに困らないため,好評をいただいています。

また,開発チーム内のコミュニケーションも大幅に削減できました。これまで検証には,事前にデプロイ時間を決め,機能の認識を合わせ,手動でデプロイしていました。複数の検証環境があるプロジェクトでは,オペレーションとコミュニケーションのコストがかなりかかっていました。

Framgia CI/CDでは,指定のブランチで新しいソースコードの差分が入るとそれぞれの環境へ自動的にデプロイされます。検証環境が複数あっても,同時に複数の機能のテストが可能になり,エンジニアのソースコードに対する品質・解読性の意識が高くなりました。また,非エンジニアのメンバー,特にQA(テスター)もCI/CDを使って適宜デプロイできるようになり,作業のスピードは格段に速くなりました。

今後に向けて─⁠─エンジニアが主体になり自己成長できる組織へ

次期Ver.3のリリースでは,より安定した稼働を課題に取り込んでおり,次の機能が実装される予定です。

  • GitLabおよびプライベートGitサーバのサポート
  • コーディング規約違反のソースコードに対して自動的にPull Requestを生成
  • DockerコンテナへのSSH接続(エンジニアのデバッグサポート)

フランジアでは,常に新しい技術や手法を取り入れ,早期の課題の発見と改善を続けています。今後もお客様からの声を取り入れながらより使い勝手の良いツールにしていく予定です。私が参画したときはたった数十名の組織でしたが,1,000人の組織になった今もその姿勢は変わりません。これからも新しい技術トレンドに目を向けながら,エンジニア一人一人が課題を見つけ,改善案を提案し,実際にアクションを起こしていくようなエンジニア主体の自己成長できる組織を目指していきます。

参考情報
フランジアのエンジニアが開発したDockerプラグイン
https://hub.docker.com/u/fdplugins/
フランジアCI CLI
https://github.com/framgia/ci-report-tool
フランジアコーディング規約
https://github.com/framgia/coding-standards

フランジアでは開発やビジネスのご相談はもちろん,採用も積極的に行っているので,ぜひお気軽にお問い合わせください。

https://framgia.com/

WEB+DB PRESS

本誌最新号をチェック!
WEB+DB PRESS Vol.112

2019年8月24日発売
B5判/168ページ
定価(本体1,480円+税)
ISBN978-4-297-10787-1

  • 特集1
    React/Vue.jsで実践!
    コンポーネント設計
    モダンフロントエンドの構造化と分割の新提案
  • 特集2
    RDBMS徹底比較
    PostgreSQL,MySQL,SQL Server,Oracle Database
  • 特集3
    実践Scala
    オブジェクト指向×関数型
  • 一般記事
    自作キーボードのススメ
    デザイン,配列,打鍵感……自由自在

著者プロフィール

Vu Xuan Dung(ヴ ソアン ズン)

2002年ハノイ工科大学を中退し,文部科学省奨学金で日本へ留学。2008年東北大学工学部情報工学科卒。富士通,FXシステム開発会社を経てフランジアに入社。創業当初のメンバーで,エンジニア,ブリッジエンジニアを経験し,現在はソフトウェア開発事業部のマネージャとして,200人のエンジニアチームを牽引しながら社内全般の技術をアドバイスしている。

バックナンバー

管理

  • "サービスの成功にコミットする"ために自社開発したフランジアのCI/CD―エンジニアたちが賛同して自ら開発に名乗りを上げて生まれたツール