Submit Search
Upload
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
•
3 likes
•
2,332 views
TrinityT _
Follow
LLDecade 講演資料です。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 26
Download now
Download to read offline
Recommended
Circle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみる
ynakahira
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Nobuhiro Ueda
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
77web
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
phpstudy_php_to_node
phpstudy_php_to_node
Suguru Shirai
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
l_b__
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
Ciじゃない方のJenkins
Ciじゃない方のJenkins
Katsuhiro Miura
Recommended
Circle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみる
ynakahira
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Nobuhiro Ueda
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
テスト実行速度を改善してお金をかけずに開発スピードを爆速にする
77web
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
phpstudy_php_to_node
phpstudy_php_to_node
Suguru Shirai
JellyBeanのソースをとりあえず眺めてみた(手抜き)
JellyBeanのソースをとりあえず眺めてみた(手抜き)
l_b__
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
Issei Hiraoka
Ciじゃない方のJenkins
Ciじゃない方のJenkins
Katsuhiro Miura
20160421 react勉強会
20160421 react勉強会
Naoki Kurosawa
Jenkins 再入門
Jenkins 再入門
Jumpei Miyata
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話
xiidec
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Y Watanabe
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
CROOZ, inc.
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
kimulla
ドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_tech
Michihito Shigemura
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
Ryo Iinuma
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
Kohei Nakamura
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
Daisuke Ikeda
Continuous Integration
Continuous Integration
Harald Soevik
An Intro To Mobile Learning & Performance Support
An Intro To Mobile Learning & Performance Support
rodbmwm5
It Service Management
It Service Management
paramalways
쿨 커뮤니케이션 김호 2009년9월
쿨 커뮤니케이션 김호 2009년9월
DamianoJun
Statistics All
Statistics All
paramalways
Regional diary of events 2009-10
Regional diary of events 2009-10
tracywaters
The Wisdom Of The Cross
The Wisdom Of The Cross
John Gonzalez
The meaning of jesus3
The meaning of jesus3
John Gonzalez
The atomic bomb ends the war
The atomic bomb ends the war
ham97
The Making To Launch Of The Discovery
The Making To Launch Of The Discovery
Natarajan Hariharan
Section 30 1 moving toward conflict
Section 30 1 moving toward conflict
ham97
RBS Business Capital
RBS Business Capital
mpetix
More Related Content
What's hot
20160421 react勉強会
20160421 react勉強会
Naoki Kurosawa
Jenkins 再入門
Jenkins 再入門
Jumpei Miyata
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話
xiidec
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Y Watanabe
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
CROOZ, inc.
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
kimulla
ドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_tech
Michihito Shigemura
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
Ryo Iinuma
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
Kohei Nakamura
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
Daisuke Ikeda
What's hot
(10)
20160421 react勉強会
20160421 react勉強会
Jenkins 再入門
Jenkins 再入門
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
ドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_tech
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
Viewers also liked
Continuous Integration
Continuous Integration
Harald Soevik
An Intro To Mobile Learning & Performance Support
An Intro To Mobile Learning & Performance Support
rodbmwm5
It Service Management
It Service Management
paramalways
쿨 커뮤니케이션 김호 2009년9월
쿨 커뮤니케이션 김호 2009년9월
DamianoJun
Statistics All
Statistics All
paramalways
Regional diary of events 2009-10
Regional diary of events 2009-10
tracywaters
The Wisdom Of The Cross
The Wisdom Of The Cross
John Gonzalez
The meaning of jesus3
The meaning of jesus3
John Gonzalez
The atomic bomb ends the war
The atomic bomb ends the war
ham97
The Making To Launch Of The Discovery
The Making To Launch Of The Discovery
Natarajan Hariharan
Section 30 1 moving toward conflict
Section 30 1 moving toward conflict
ham97
RBS Business Capital
RBS Business Capital
mpetix
Il Lavoro Ai Tempi Di Facebook
Il Lavoro Ai Tempi Di Facebook
Reputation Manager
4 the day the bomb went off article
4 the day the bomb went off article
ham97
Manoj(Resume)
Manoj(Resume)
mobilegangs
Pel 2 kerasulan
Pel 2 kerasulan
Safaee Zakaria
The middle ages!
The middle ages!
ham97
Bis Data Information
Bis Data Information
paramalways
The cold war at home
The cold war at home
ham97
Social Reputation Analytics- Big Data Analytics Conference 2013
Social Reputation Analytics- Big Data Analytics Conference 2013
Reputation Manager
Viewers also liked
(20)
Continuous Integration
Continuous Integration
An Intro To Mobile Learning & Performance Support
An Intro To Mobile Learning & Performance Support
It Service Management
It Service Management
쿨 커뮤니케이션 김호 2009년9월
쿨 커뮤니케이션 김호 2009년9월
Statistics All
Statistics All
Regional diary of events 2009-10
Regional diary of events 2009-10
The Wisdom Of The Cross
The Wisdom Of The Cross
The meaning of jesus3
The meaning of jesus3
The atomic bomb ends the war
The atomic bomb ends the war
The Making To Launch Of The Discovery
The Making To Launch Of The Discovery
Section 30 1 moving toward conflict
Section 30 1 moving toward conflict
RBS Business Capital
RBS Business Capital
Il Lavoro Ai Tempi Di Facebook
Il Lavoro Ai Tempi Di Facebook
4 the day the bomb went off article
4 the day the bomb went off article
Manoj(Resume)
Manoj(Resume)
Pel 2 kerasulan
Pel 2 kerasulan
The middle ages!
The middle ages!
Bis Data Information
Bis Data Information
The cold war at home
The cold war at home
Social Reputation Analytics- Big Data Analytics Conference 2013
Social Reputation Analytics- Big Data Analytics Conference 2013
Similar to ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
Shoji Shirotori
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
近藤 繁延
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
Daiki Kawanuma
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
Yukihiko SAWANOBORI
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
You&I
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング
Innova Inc.
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka
beyond Co., Ltd.
入力フォームチェックをJ queryでやってみた
入力フォームチェックをJ queryでやってみた
祐介 植木
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DIVE INTO CODE Corp.
恋するJenkins
恋するJenkins
Hiroshi Nakao
130329 04
130329 04
openrtm
20130329 rtm4
20130329 rtm4
openrtm
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
DIVE INTO CODE Corp.
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
Ryo Mitoma
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善
Takashi Honda
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
Developers Summit
2019-Nov-23 Pivotalのプロセスとプラットフォーム@DellTechnologies FORUM
2019-Nov-23 Pivotalのプロセスとプラットフォーム@DellTechnologies FORUM
Shinya Yanagihara
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
Shota Umeda
Similar to ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
(20)
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
AITCシニア技術者勉強会 「今さら聞けないWebサイト開発」 vol2
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka
入力フォームチェックをJ queryでやってみた
入力フォームチェックをJ queryでやってみた
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
恋するJenkins
恋するJenkins
130329 04
130329 04
20130329 rtm4
20130329 rtm4
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
2019-Nov-23 Pivotalのプロセスとプラットフォーム@DellTechnologies FORUM
2019-Nov-23 Pivotalのプロセスとプラットフォーム@DellTechnologies FORUM
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
1.
RubyOnRails CI Perestroika 〜RubyOnRailsにおけるCI改善〜
高倉利明 / @TrinityT
2.
はじめに_自己紹介 ● 高倉利明 /
id:TrinityT ● 株式会社アピリッツ(旧社名KBMJ)で RubyOnRailsでWebアプリ、 ブラウザゲーム開発してます。 ● 社内CIサーバ管理者 →今日はノウハウを紹介
3.
はじめに_今日の内容 1. 社内CI環境の概要と工夫点 2. RubyOnRailsでのCI設定例紹介 3.
ビルド結果通知の工夫点 4. まとめ
4.
社内CI環境の概要と工夫点
5.
構成図 CIサーバ
ソース管理サーバ テスト結果 開発者
6.
構成 CIツール
Jenkins ソース管理 Git、Subversion ビルド、テスト Rspec、RUnit、Maven2..etc
7.
CI環境においての工夫3点 ● ライブラリバージョン管理 ● 新規プロジェクト追加の高速化 ●
テスト実行DB I/O高速化
8.
工夫1_ライブラリバージョン管理 Ruby関連ライブラリは進化が激しいので、 社内に異なるバージョンの案件が多数存在 ● Jenkinsサーバ上にRVM(RubyVersionManager)
で主要バージョンのRubyを設定してある ● ライブラリはBundler or gemset(依存管理ツー ル)で管理 →どんな構成(Ruby20XX)でもすぐにCI対応可能
9.
工夫2_新規プロジェクト追加の高速化 ● 社内Gitリポジトリアクセス用のJenkins専用公開
鍵を配置 ● テスト環境用のDBユーザ/パスワードは共通 ● Jenkins設定項目を標準化したひな形を作って おきコピー →10分程度で新規プロジェクトのCI追加可能!
10.
工夫3_テスト実行DB I/O高速化 しょぼいサーバのためテスト遅い。。。 →MySQLのデータディレクトリをオンメモリ(tmpfs) に配置 →0円でテスト処理時間向上! ※弊社環境ではテスト実行時間20%減ぐらい CPU強化やSSD化などのほうが効率良さげ
11.
RubyOnRailsでの CI設定例紹介
12.
テストカバレッジ取得 RcovやSimpleCovでカバレッジを取得。 テスト追加の指針としている。
13.
テスト結果詳細取得 詳細テスト結果が表示されるように、 CI::Reporter(JUnit互換出力ツール)で詳細表示
14.
テーブル&カラムコメント追加 ActiveRecordコネクタを拡張して、 Migrationでコメントを追加している。 #テーブル作成時 create_table :hoges, :comment
=> "テーブルコメント" do |t| t.string :code, :comment => "fugafuga" end #カラム追加時 add_column :hoges, :value, :integer, :comment => "カラムコメント"
15.
テーブル定義書自動生成 常に最新のテーブル定義書を テーブル&カラムコメントをもとに自動生成
16.
ビルド結果通知設定
17.
なぜメール通知だけじゃ駄目? ● メールだと無視される可能性が高い
→迷惑メール扱いする人も・・・ ● CIを知らない人は堅苦しく感じるらしい →遊び心が重要
18.
IRCでの通知 社内IRCサーバのチャンネルに通知
19.
通知ランプ ※三○兎で1000円ぐらい
20.
JenkinsPersonaPlugin ドラクエ
21.
JenkinsPersonaPlugin コマンドー
22.
JenkinsPersonaPlugin ガンダムUC
23.
まとめ
24.
まとめ ● 予め環境を最適化しておくことで 新規案件にすぐにCIを適用可能 ●
自動的に様々な情報を取ることで クオリティを上げる指針に ● ビルド失敗の早期対処は最重要。 通知の工夫して遊び心を!!
25.
CIツール導入して一番良かったこと テストコード書かない メンバーが激減!
26.
ご清聴ありがとう ございました! 高倉利明 /
@TrinityT サイト:http://d.hatena.ne.jp/TrinityT/
Download now