SlideShare a Scribd company logo
1 of 43
Download to read offline
(継続的インテグレーション)
2017年9月
KENJI HIRATA
CI
本日のテーマ
CI(継続的インテグレーション)
ユニット
テスト
ビルド実装
結合
テスト
リリースデリバリ
CI(継続的インテグレーション)
CD(継続的デプロイ)
ここ!
2
1. CIについて
2. CIに関するツールのご紹介
アジェンダ
3
1.CIについて
4
5
CIとは?
継続的インテグレーション
CI(英: continuous integration)とは、ソフトウェア開
発過程において,ビルドやテストを頻繁に繰り返し行う
ことにより問題を早期に発見する開発手法
開発者が自分のコード変更を定期的にセントラルリポジ
トリにマージし、その後に自動化されたビルドとテスト
を実行する DevOps ソフトウェア開発の手法
6
ビルド・テストを自動化して、小さくたくさん回す
CIとは?
リポジトリ テストビルド
自動化
7
なぜCI?
よくある開発現場の問題
・結合またはシステムテスト時に問題が発見され
手戻りの工数がかさむ(デグレ発生など)
×早期にテストが行えておらずバグが残存
×後工程でのテスト工数が増大
・リポジトリから最新のソースコードを取得したが
ビルドが通らない
×ビルドエラーを発生させるコードがコミットされている
×ビルドエラーのチェックが行われていない
8
解決へのアプローチ
リポジトリから最新のソースコードを取得したが
ビルドが通らない
9
ビルドエラーをすぐ検知する必要がある
リポジトリにマージしたら即ビルドを行い結果を通知する。
ビルドエラーの場合は即対応する。
解決へのアプローチ
結合またはシステムテスト時に問題が発見され手戻り
の工数がかさむ
10
デグレをすぐ検知する必要がある
ビルドしたら即テストを行い結果を通知する。
NGの場合は即対応する。
11
CIの目的
・バグの早期発見と対処
・ソフトウェアの品質向上
・リリースまでのリードタイムの短縮
「ビルド」と「テスト」の自動化などにより
ビルド・デプロイの自動化
12
13
ビルド・デプロイの自動化をしない場合
(実装)
エンジニア
検証サーバ
例えば、検証サーバへのアップ時の面倒ごと
Git
(バージョン管理)
push
・ビルド
・デプロイ
面倒1:サーバに手動で接続する
面倒2:ビルド・デプロイ手順を間違えて壊す
面倒3:特定のメンバーにしかビルドができない
(属人化)→依頼しないといけない。
などなど・・
開発以外の作業が多い!
作業者の負担高い
14
(実装)
GitBucket
Slack
Jenkins
(構成管理)
(バージョン管理)
(CIツール)
エンジニア
現プロジェクト例
push
結果通知
hook
(チャット)
通知指示
実行 ビルド
テスト
検証サーバ
ビルド・デプロイの自動化をした場合
15
(実装)
GitBucket
Slack
Jenkins
(構成管理)
(バージョン管理)
(CIツール)
エンジニア
現プロジェクト例
push
結果通知
hook
(チャット)
通知指示
実行 ビルド
テスト
検証サーバ
現時点のデプロイ状況がわかる
ビルド・デプロイの自動化をした場合
作業中のメンバや、ビルド・デプロイの結果が全員に伝わる
16
(実装)
GitBucket
Slack
Jenkins
(構成管理)
(バージョン管理)
(CIツール)
エンジニア
現プロジェクト例
push
結果通知
hook
(チャット)
通知指示
実行 ビルド
テスト
検証サーバ
pushして完了通知を受け取るだけ!
サーバ接続やビルド・デプロイ作業は不要
ビルド・デプロイの自動化をした場合
17
(実装)
GitBucket
Slack
Jenkins
(構成管理)
(バージョン管理)
(CIツール)
エンジニア
現プロジェクト例
push
完了通知
hook
(チャット)
通知指示
実行 ビルド
テスト
検証サーバ
構成管理ツールで秘伝のタレ化、属人性を排除
ビルド・デプロイの自動化をした場合
ビルド・デプロイの自動化をした場合
実装以外の面倒な作業が減る。
削減した時間を実装に充てるこ
とで、結果的に同じ時間でより
多くの成果を生み出せる。
生産性向上
18
従来 自動化
実装
ビルド
デプロイ
など
19
テスト自動化
20
テスト自動化
バグ修正する際に、ソースコードの変更からテスト実行までのタイムラグ
が長いと、大量の変更点から原因を切り分けるために、何度も異なる条件
のテストを再実行したり、複数のソースコード変更を追跡したりといった
調査が必要。
バグ特定の負担を軽減するためには、ソースコードの変更からテスト実行
までのタイムラグを短縮すること。
バグ特定の負担
21
テスト自動化
ソースコードの変更からテストの実行までのタイムラグを最小化するには
、ソースコードが変更された直後に毎回リグレッションテストを実行する
環境を整備する必要がある。
複雑なテストケースの場合は、状況の作成(DBデータ、ファイルなどの準
備など)は大変・・
テストケースの実行を自動化する必要がある。
22
テスト自動化
自動テストケース作成の課題
カバレッジの最大化とコストの最小化
→ テスト価値である「コスト」「カバレッジ」を最適する
テスト設計スキルが必要。
時間や人(リソース)が少ない場合、全テストケースの作成が
できないため、短時間で効果のあるテストを作成する必要
がある。
23
テスト自動化
現プロジェクトの課題への対処法
アプリケーション層のテス
トケースをJUnitで作成
→ アプリケーション層のアクショ
ンに対してのテスト(システムテス
トレベルのシナリオ)を実行するこ
とで、ドメイン層、インフラストラ
クチャ層の実行をある程度網羅でき
る。
アプリケーション層
ブラウザテスト(Seleniumなど)を利用せず、JUnitのみとすることで、テ
スト実装工数と実行時間短縮化
ドメイン層
インフラストラクチャ層
テスト自動化
ビルドの度にテストを行いデグレを検知、短時間でバグ特定
品質向上
やりすぎると納期とコストを圧迫するのでバランスが重要
あくまで保守開発のためのリグレッションテストを目的とする
24
2.CIに関するツールの紹介
25
26
CIに関するツール
• CIツール
• リポジトリサービス
• 構成管理ツール
• チャットツール
• テストツール
CIツール
Bamboo
Jenkins
Amazon CodeBuild
オープンソース。CIのデファクトスタンダード
AWS上で利用するビルドサービス
他、TravisCI、CircleCIなどクラウド利用型のものもあります。
Atlassian製品のCI/CDサービス
27
CIツール
28
利用の目的
サーバに接続してコマンドを実行する面倒や繰り返し行う作業を省き、効率化する
1、コマンド操作をより手間なく行う
2、構築作業をより安全かつ確実に行う
手作業によるミスを防ぐ。可能な限り手作業や人の判断を省いて誤入力の余地を
なくす。決まった作業を連続して行うことを強制する。
3、構築やテスト結果の蓄積
実行の結果の履歴情報を蓄積し、障害発生時の原因調査を行えるようにする。
CIツール
Jenkins
• Tomcatなどのサーブレットで動作するJavaのWEBシステム
• cronライクなスケジューリングでビルドを実行
• WebHookなどリクエストをトリガーにビルドを実行
• ジョブの履歴保存(問題発生時に原因を究明しやすい。)
• 様々なプラグインがある
例えば、Junitの結果を集計しテストレポートを生成することもできる
29
CIツール
現プロジェクトで実施していること
・Gitリポジトリへのコミットをトリガーにジョブ実行
・検証サーバへビルドを実行
・Junitのテスト結果を収集してテストレポート生成
・ビルドとテスト結果をチャットに通知
実行のタイミング
• リポジトリにコミットされたとき
• 午前と午後に1回づつ
30
リポジトリサービス
GitBucket
GitHub
GitLab
Gitのリポジトリ共有WEBサービス
オープンソース。GitHubの基本的な機能を搭載している
社内プライベート環境内に導入して利用できる
BitBucket
Attlasian製品のWEBサービス
Amazon CodeCommit
31
AWSが提供するGitホスティングサービス
リポジトリサービス
GitBucket
•サーブレットで動作するJavaのWEBシステム
•リポジトリ管理
•PullRequest, issue, wiki, fork, webHookなどの機能あり
32
リポジトリサービス
•ソース管理
•ブランチ管理
•PullRequestの実行と管理
•JenkinsへのWebHook
現プロジェクトで実施していること
33
構成管理ツール
構成管理ツールとは?
• 手動オペレーションによるタイムロス削減
• メンテナンス時におけるオペレーションミス発生可能性低減
• 運用手順の変更の適用漏れ防止
• 直接サーバにログインする機会を最小限にすることでセキュリテ
ィの向上
利用メリット
34
サーバの管理や設定を自動化、複数のサーバやクラウドインフラ
を統一的に制御することができるツール。
3. 構成管理ツール
Ansible
RedHut社が開発するオープンソース。
Chef
35
Opscodeが開発するオープンソース。
AWS CodeDeploy
AWSが提供するデプロイサービス
3. 構成管理ツール
•エージェントレス、クライアントにインストール不要
•YAML形式でシンプルに記述できる
•Pythonで動作
•タスク(モジュール処理)をPlayBookで定義
処理内容は、YAMLで記述するためPythonの知識は不要
36
4. チャットツール
Slack
Saas型のビジネス向けチャットサービス
37
Skype
ChatWork
HipChat
チャットの定番
日本製のSaas型のビジネス向けチャットサービス
Attlasianのチャットサービス
4. チャットツール
Slack
•デベロッパー向けの機能が充実
•プラグインが豊富
•ChatOpsに最適
•チーム、チャンネルなどグループチャット
38
4. チャットツール
現プロジェクトで実施していること
•メンバーコミュニケーション
•Jenkinsのジョブ実行結果を通知
•重大なセキュリティ情報のRSSを通知
•AWS監視サービスからのアラート通知
39
4. チャットツール
前の現場で実施していたこと
• Googleカレンダーと同期し、リリース予定を通知
• Hubotと連携しSlackからJenkinsのジョブを実行
• GitHubと連携し、プルリクやコミットマージの通知
• 監視ツールと連携。サーバの負荷状況、アラートを通知
40
Dev(開発:アプリ)とOps(運用:インフラ)の情報共有
コミュニケーションが円滑に行えるようになる
4. チャットツール
Slackの最大の魅力はHubotとの連携
GitHub社が開発したBotフレームワーク
CoffeeScript,JavaScriptで処理を記述する
Hubotとは?
Slack Hubot
41
WEBサービス
API
例えば、httpで様々なAPIにアクセスしてSlackに通知できる
5. テストツール
JUnit
Javaのテスティングツール
42
Selenium
Webブラウザテスティングツール
JMeter
負荷テスト用ツール
動作中にキャプチャ(ハードコピー)取得も可能
ご静聴ありがとうございました。
43

More Related Content

What's hot

Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化dcubeio
 
Concourseで快適な自動化の旅
Concourseで快適な自動化の旅Concourseで快適な自動化の旅
Concourseで快適な自動化の旅Kazuto Kusama
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKensuke Maeda
 
企業システムにSELinuxを適用するときの検討事項
企業システムにSELinuxを適用するときの検討事項企業システムにSELinuxを適用するときの検討事項
企業システムにSELinuxを適用するときの検討事項Atsushi Mitsu
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
IT エンジニアのための 流し読み Windows 10 - 入門!Windows Server Update Services (WSUS)
IT エンジニアのための 流し読み Windows 10 - 入門!Windows Server Update Services (WSUS)IT エンジニアのための 流し読み Windows 10 - 入門!Windows Server Update Services (WSUS)
IT エンジニアのための 流し読み Windows 10 - 入門!Windows Server Update Services (WSUS)TAKUYA OHTA
 
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)Akihiro Kuwano
 
Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析政雄 金森
 
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門kk_Ataka
 
ASP.NET Core の ​ パフォーマンスを支える ​ I/O Pipeline と Channel
ASP.NET Core の ​ パフォーマンスを支える ​ I/O Pipeline と ChannelASP.NET Core の ​ パフォーマンスを支える ​ I/O Pipeline と Channel
ASP.NET Core の ​ パフォーマンスを支える ​ I/O Pipeline と ChannelJoni
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること信之 岩永
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャota42y
 
【Citrix】vdiクライアント仮想化における認証の現在とこれから
【Citrix】vdiクライアント仮想化における認証の現在とこれから【Citrix】vdiクライアント仮想化における認証の現在とこれから
【Citrix】vdiクライアント仮想化における認証の現在とこれからCitrix Systems Japan
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
 
Multibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことMultibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことRecruit Lifestyle Co., Ltd.
 
OSC2011 Tokyo/Fall 濃いバナ(virtio)
OSC2011 Tokyo/Fall 濃いバナ(virtio)OSC2011 Tokyo/Fall 濃いバナ(virtio)
OSC2011 Tokyo/Fall 濃いバナ(virtio)Takeshi HASEGAWA
 

What's hot (20)

Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
 
Concourseで快適な自動化の旅
Concourseで快適な自動化の旅Concourseで快適な自動化の旅
Concourseで快適な自動化の旅
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
 
DevOps勉強会
DevOps勉強会DevOps勉強会
DevOps勉強会
 
企業システムにSELinuxを適用するときの検討事項
企業システムにSELinuxを適用するときの検討事項企業システムにSELinuxを適用するときの検討事項
企業システムにSELinuxを適用するときの検討事項
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
入門!Jenkins
入門!Jenkins入門!Jenkins
入門!Jenkins
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
IT エンジニアのための 流し読み Windows 10 - 入門!Windows Server Update Services (WSUS)
IT エンジニアのための 流し読み Windows 10 - 入門!Windows Server Update Services (WSUS)IT エンジニアのための 流し読み Windows 10 - 入門!Windows Server Update Services (WSUS)
IT エンジニアのための 流し読み Windows 10 - 入門!Windows Server Update Services (WSUS)
 
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
 
Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析
 
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
 
ASP.NET Core の ​ パフォーマンスを支える ​ I/O Pipeline と Channel
ASP.NET Core の ​ パフォーマンスを支える ​ I/O Pipeline と ChannelASP.NET Core の ​ パフォーマンスを支える ​ I/O Pipeline と Channel
ASP.NET Core の ​ パフォーマンスを支える ​ I/O Pipeline と Channel
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
 
C#や.NET Frameworkがやっていること
C#や.NET FrameworkがやっていることC#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
 
【Citrix】vdiクライアント仮想化における認証の現在とこれから
【Citrix】vdiクライアント仮想化における認証の現在とこれから【Citrix】vdiクライアント仮想化における認証の現在とこれから
【Citrix】vdiクライアント仮想化における認証の現在とこれから
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
 
Multibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことMultibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだこと
 
OSC2011 Tokyo/Fall 濃いバナ(virtio)
OSC2011 Tokyo/Fall 濃いバナ(virtio)OSC2011 Tokyo/Fall 濃いバナ(virtio)
OSC2011 Tokyo/Fall 濃いバナ(virtio)
 

Similar to CI(継続的インテグレーション)

2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情Toshiyuki Hirata
 
Xcode 7で始めるCI
Xcode 7で始めるCIXcode 7で始めるCI
Xcode 7で始めるCIyuki0211s
 
GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例
GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例
GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例Ryuji Egashira
 
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD分かったうえではじめるCI/CD
分かったうえではじめるCI/CDYuta Matsumura
 
【研究報告】オープンソース開発における継続的インテグレーションの効果を発揮する条件
【研究報告】オープンソース開発における継続的インテグレーションの効果を発揮する条件【研究報告】オープンソース開発における継続的インテグレーションの効果を発揮する条件
【研究報告】オープンソース開発における継続的インテグレーションの効果を発揮する条件KaedeI1
 
CI to CD、ソフトウェアの継続的アプローチ
CI to CD、ソフトウェアの継続的アプローチCI to CD、ソフトウェアの継続的アプローチ
CI to CD、ソフトウェアの継続的アプローチYou&I
 
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーJunya Suzuki
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployRyutaro YOSHIBA
 
Net なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみたNet なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみたOda Shinsuke
 
Visual studioonlineとwebサイトで始めるci/cdの第一歩
Visual studioonlineとwebサイトで始めるci/cdの第一歩Visual studioonlineとwebサイトで始めるci/cdの第一歩
Visual studioonlineとwebサイトで始めるci/cdの第一歩Kazunori Hamamoto
 
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -Toshiyuki Hirata
 
TravisCIでActionScriptを動かす
TravisCIでActionScriptを動かすTravisCIでActionScriptを動かす
TravisCIでActionScriptを動かすgyoh_k
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめatsushi_tmx
 
BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法潤司 渡部
 
Bringing Continuous Agile to Japan
Bringing Continuous Agile to JapanBringing Continuous Agile to Japan
Bringing Continuous Agile to JapanAndy Singleton
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code裕貴 荒井
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することyuichi_kuwahara
 
RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料pyar6329
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜Daiki Kawanuma
 

Similar to CI(継続的インテグレーション) (20)

2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
 
Xcode 7で始めるCI
Xcode 7で始めるCIXcode 7で始めるCI
Xcode 7で始めるCI
 
GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例
GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例
GitHubとTravisCIで回す社内ライブラリの継続的インテグレーション事例
 
Jenkins導入ライブ
Jenkins導入ライブJenkins導入ライブ
Jenkins導入ライブ
 
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
 
【研究報告】オープンソース開発における継続的インテグレーションの効果を発揮する条件
【研究報告】オープンソース開発における継続的インテグレーションの効果を発揮する条件【研究報告】オープンソース開発における継続的インテグレーションの効果を発揮する条件
【研究報告】オープンソース開発における継続的インテグレーションの効果を発揮する条件
 
CI to CD、ソフトウェアの継続的アプローチ
CI to CD、ソフトウェアの継続的アプローチCI to CD、ソフトウェアの継続的アプローチ
CI to CD、ソフトウェアの継続的アプローチ
 
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリーjenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
Net なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみたNet なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみた
 
Visual studioonlineとwebサイトで始めるci/cdの第一歩
Visual studioonlineとwebサイトで始めるci/cdの第一歩Visual studioonlineとwebサイトで始めるci/cdの第一歩
Visual studioonlineとwebサイトで始めるci/cdの第一歩
 
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
 
TravisCIでActionScriptを動かす
TravisCIでActionScriptを動かすTravisCIでActionScriptを動かす
TravisCIでActionScriptを動かす
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
 
BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法BDD Frameworkで回帰テストの自動実行を実現する方法
BDD Frameworkで回帰テストの自動実行を実現する方法
 
Bringing Continuous Agile to Japan
Bringing Continuous Agile to JapanBringing Continuous Agile to Japan
Bringing Continuous Agile to Japan
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
 
RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料
 
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
SI現場のテスト自動化への挑戦〜フルコンテナ構成のCI/CD環境〜
 

CI(継続的インテグレーション)