SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

DMM.comの事例から学ぶリリースフロー自動化ガイド

リリースフローを自動化して、本来の開発業務に専念できる環境を整備しよう

DMM.comの事例から学ぶリリースフロー自動化ガイド 第1回

  • このエントリーをはてなブックマークに追加

 はじめまして。DMM.comラボの田中裕一です。昨今、システムの開発現場では、ビジネススキームの変化やシステムの高度化に伴い、短期間での開発、高速な改善、継続的な新機能追加、かつ安定した運用と、システムの開発に対する要求も高度化してきております。「システム開発」というとどうしてもシステムの設計や、プログラミング作業に注力しがちですが、より高速に安全に開発・運用・改善を行っていく上で、私の経験を踏まえ、ここで改めて開発・運用の問題について整理したいとおもいます。

  • このエントリーをはてなブックマークに追加

人はミスをしてしまうもの

 開発・運用に携わる人には釈迦に説法ではありますが、どれだけ詳細なリリース手順書を整備しても、ダブルチェックのルールを設けても、天才プログラマを何人集めてもミスや失敗は付き物です。経験則からもそうですが、特に稼働が高い時(ローンチ前後)、時間がなくて焦っている時(障害時)はミス・失敗が起こりがちです。

 昨今のリリース手順は簡単に思いつくだけでも、

  • コンパイルの実行
  • ユニットテストの実行
  • カバレッジの取得
  • minify,compressの実行
  • 依存関係の解決

など、複雑化しがちです。

 手作業でリリースする場合、一つ一つの作業は微々たる時間で行えても、リリースに必要な作業を積み重ねると結構な時間がかかります。また、それを継続的に行っていくとなるとかなりの時間を取ってしまいます。

 これらの作業を自動化することで、機能開発・研究開発と言うエンジニア本来の業務が行える環境を整備しようというのが今回の取組みです。

自動化するためのインフラ全体図

 今回DMMではテスト、リリース、JavaScriptのminify/concat、負荷試験などを自動化しました。今回行った自動化するための全体構成図は下記になります。

 それでは一つ一つの役割について説明していきます。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Jenkins

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
DMM.comの事例から学ぶリリースフロー自動化ガイド連載記事一覧

もっと読む

この記事の著者

田中 裕一(株式会社DMM.comラボ)(タナカ ユウイチ)

DMM.comラボにおいて、検索システムの刷新、レコメンドエンジンの新規開発など、DMM.comの重要な機能を担うエンジニアとして従事。AeroSpikeを社内で採用し、日本人初のコントリビューターとしても活躍。サーバーサイド、フロントエンド、ミドルウェア、インフラと幅広く担当するDMM.comラボ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8354 2015/02/12 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング