Soumettre la recherche
Mettre en ligne
DevOpsを支える技術勉強会(CI編)
•
Télécharger en tant que PPTX, PDF
•
5 j'aime
•
2,984 vues
小
小川 昌吾
Suivre
社内で勉強会の資料
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 88
Télécharger maintenant
Recommandé
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws
takaoka susumu
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
Amazon Web Services Japan
20191106 AWS Black Belt Online Seminar AWS認定にチャレンジしょう – まずはクラウドプラクティショナーから
20191106 AWS Black Belt Online Seminar AWS認定にチャレンジしょう – まずはクラウドプラクティショナーから
Amazon Web Services Japan
AWSを利用したA社システムの提案
AWSを利用したA社システムの提案
Tomohiro Amemori
20210415 amazonelastickubernetesservice devops_game_development
20210415 amazonelastickubernetesservice devops_game_development
Amazon Web Services Japan
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
Amazon Web Services Japan
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
2000年代SaaS on AWS
2000年代SaaS on AWS
Amazon Web Services Japan
Recommandé
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws
takaoka susumu
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
Amazon Web Services Japan
20191106 AWS Black Belt Online Seminar AWS認定にチャレンジしょう – まずはクラウドプラクティショナーから
20191106 AWS Black Belt Online Seminar AWS認定にチャレンジしょう – まずはクラウドプラクティショナーから
Amazon Web Services Japan
AWSを利用したA社システムの提案
AWSを利用したA社システムの提案
Tomohiro Amemori
20210415 amazonelastickubernetesservice devops_game_development
20210415 amazonelastickubernetesservice devops_game_development
Amazon Web Services Japan
AWS Well-Architected Security とベストプラクティス
AWS Well-Architected Security とベストプラクティス
Amazon Web Services Japan
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
2000年代SaaS on AWS
2000年代SaaS on AWS
Amazon Web Services Japan
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
Atsushi Fukui
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
クラウドセキュリティFAQ セキュリティ対策を分解して考える
クラウドセキュリティFAQ セキュリティ対策を分解して考える
koki abe
20210309 AWS Black Belt Online Seminar AWS Audit Manager
20210309 AWS Black Belt Online Seminar AWS Audit Manager
Amazon Web Services Japan
20201125 EC Solution Seminar Live Commerce
20201125 EC Solution Seminar Live Commerce
Amazon Web Services Japan
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
Amazon Web Services Japan
Aws well architected-framework_seminar_overview
Aws well architected-framework_seminar_overview
Yoshii Ryo
20201214 AWS Black Belt Online Seminar 2020 年 AWS re:Invent 速報 Part2
20201214 AWS Black Belt Online Seminar 2020 年 AWS re:Invent 速報 Part2
Amazon Web Services Japan
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
Amazon Web Services Japan
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン
Amazon Web Services Japan
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
20201125 EC Solution Seminar Notification
20201125 EC Solution Seminar Notification
Amazon Web Services Japan
DevOps with Database on AWS
DevOps with Database on AWS
Amazon Web Services Japan
20210317 AWS Black Belt Online Seminar Amazon MQ
20210317 AWS Black Belt Online Seminar Amazon MQ
Amazon Web Services Japan
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Amazon Web Services Japan
20201125 EC Solution Seminar Recommend
20201125 EC Solution Seminar Recommend
Amazon Web Services Japan
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
Amazon Web Services Japan
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
Amazon Web Services Japan
Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門
yoichi kikuta
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc.
Contenu connexe
Tendances
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
Atsushi Fukui
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
クラウドセキュリティFAQ セキュリティ対策を分解して考える
クラウドセキュリティFAQ セキュリティ対策を分解して考える
koki abe
20210309 AWS Black Belt Online Seminar AWS Audit Manager
20210309 AWS Black Belt Online Seminar AWS Audit Manager
Amazon Web Services Japan
20201125 EC Solution Seminar Live Commerce
20201125 EC Solution Seminar Live Commerce
Amazon Web Services Japan
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
Amazon Web Services Japan
Aws well architected-framework_seminar_overview
Aws well architected-framework_seminar_overview
Yoshii Ryo
20201214 AWS Black Belt Online Seminar 2020 年 AWS re:Invent 速報 Part2
20201214 AWS Black Belt Online Seminar 2020 年 AWS re:Invent 速報 Part2
Amazon Web Services Japan
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
Amazon Web Services Japan
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン
Amazon Web Services Japan
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
20201125 EC Solution Seminar Notification
20201125 EC Solution Seminar Notification
Amazon Web Services Japan
DevOps with Database on AWS
DevOps with Database on AWS
Amazon Web Services Japan
20210317 AWS Black Belt Online Seminar Amazon MQ
20210317 AWS Black Belt Online Seminar Amazon MQ
Amazon Web Services Japan
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Amazon Web Services Japan
20201125 EC Solution Seminar Recommend
20201125 EC Solution Seminar Recommend
Amazon Web Services Japan
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
Amazon Web Services Japan
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
Amazon Web Services Japan
Tendances
(20)
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
クラウドセキュリティFAQ セキュリティ対策を分解して考える
クラウドセキュリティFAQ セキュリティ対策を分解して考える
20210309 AWS Black Belt Online Seminar AWS Audit Manager
20210309 AWS Black Belt Online Seminar AWS Audit Manager
20201125 EC Solution Seminar Live Commerce
20201125 EC Solution Seminar Live Commerce
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
Aws well architected-framework_seminar_overview
Aws well architected-framework_seminar_overview
20201214 AWS Black Belt Online Seminar 2020 年 AWS re:Invent 速報 Part2
20201214 AWS Black Belt Online Seminar 2020 年 AWS re:Invent 速報 Part2
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
20201125 EC Solution Seminar Notification
20201125 EC Solution Seminar Notification
DevOps with Database on AWS
DevOps with Database on AWS
20210317 AWS Black Belt Online Seminar Amazon MQ
20210317 AWS Black Belt Online Seminar Amazon MQ
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
Game Development on AWS (ゲーム開発環境を向上させるためのAWS活用術)
20201125 EC Solution Seminar Recommend
20201125 EC Solution Seminar Recommend
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
[20210519 Security-JAWS] AWS エッジサービス入門ハンズオンの紹介と AWS WAF のアップデートについて
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
En vedette
Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門
yoichi kikuta
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
VirtualTech Japan Inc.
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
mosa siru
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
株式会社メタップスホールディングス
ディープラーニングの最新動向
ディープラーニングの最新動向
Preferred Networks
Pythonによる機械学習の最前線
Pythonによる機械学習の最前線
Kimikazu Kato
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
Ryota Kamoshida
En vedette
(7)
Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
ディープラーニングの最新動向
ディープラーニングの最新動向
Pythonによる機械学習の最前線
Pythonによる機械学習の最前線
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
Similaire à DevOpsを支える技術勉強会(CI編)
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
Recruit Technologies
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
DataWorks Summit/Hadoop Summit
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
Hidetoshi Hirokawa
DevOps とは何か 何であるべきか
DevOps とは何か 何であるべきか
Gosuke Miyashita
Devがawsと出会ってdev opsを目指した話
Devがawsと出会ってdev opsを目指した話
Shota Umeda
10分でわかるDevOps
10分でわかるDevOps
Gosuke Miyashita
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)
Hiroshi Tomioka
イマドキのソフトウェア開発プロジェクトの流れ
イマドキのソフトウェア開発プロジェクトの流れ
Takashi Takebayashi
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
KojiKono1
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Developers Summit
Xpjug lt-20210918
Xpjug lt-20210918
Takeshi Hirosue
日本語Puppet demystifying dev ops in the enterprise handout
日本語Puppet demystifying dev ops in the enterprise handout
Puppet
Developer Summit Summer 2013 C1セッション CA Technologies
Developer Summit Summer 2013 C1セッション CA Technologies
SA CA
XPFes2023_DevOps business-briefing_Hasegawa
XPFes2023_DevOps business-briefing_Hasegawa
Tokyo, Japan
SIビジネスを変えよう。~ Ruby+Ruby on RailsによるエンタープライズCloudアプリケーション事業とは~
SIビジネスを変えよう。~ Ruby+Ruby on RailsによるエンタープライズCloudアプリケーション事業とは~
Kachi Creo
Azure IaaS 環境で安心してシステム開発する方法を教えます
Azure IaaS 環境で安心してシステム開発する方法を教えます
wintechq
Enterprise DevOps
Enterprise DevOps
智治 長沢
DevOps for Small Starter
DevOps for Small Starter
大要 伊藤
20170912 data analyst meetup tokyo vol.5
20170912 data analyst meetup tokyo vol.5
tetsuro ito
Similaire à DevOpsを支える技術勉強会(CI編)
(20)
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev ops
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
DevOps とは何か 何であるべきか
DevOps とは何か 何であるべきか
Devがawsと出会ってdev opsを目指した話
Devがawsと出会ってdev opsを目指した話
10分でわかるDevOps
10分でわかるDevOps
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)
Platform Engineering超入門(一般公開版:キンドリルジャパン社内勉強会:2023年7月20日発表)
イマドキのソフトウェア開発プロジェクトの流れ
イマドキのソフトウェア開発プロジェクトの流れ
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
開発サイクルを爆速にする!~ Azure DevOpsでアプリのビルド・デプロイを自動化 ~
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Xpjug lt-20210918
Xpjug lt-20210918
日本語Puppet demystifying dev ops in the enterprise handout
日本語Puppet demystifying dev ops in the enterprise handout
Developer Summit Summer 2013 C1セッション CA Technologies
Developer Summit Summer 2013 C1セッション CA Technologies
XPFes2023_DevOps business-briefing_Hasegawa
XPFes2023_DevOps business-briefing_Hasegawa
SIビジネスを変えよう。~ Ruby+Ruby on RailsによるエンタープライズCloudアプリケーション事業とは~
SIビジネスを変えよう。~ Ruby+Ruby on RailsによるエンタープライズCloudアプリケーション事業とは~
Azure IaaS 環境で安心してシステム開発する方法を教えます
Azure IaaS 環境で安心してシステム開発する方法を教えます
Enterprise DevOps
Enterprise DevOps
DevOps for Small Starter
DevOps for Small Starter
20170912 data analyst meetup tokyo vol.5
20170912 data analyst meetup tokyo vol.5
Plus de 小川 昌吾
Effective flutter
Effective flutter
小川 昌吾
Flutter first impression
Flutter first impression
小川 昌吾
Flutter management statement
Flutter management statement
小川 昌吾
Laravel vue-project-upload
Laravel vue-project-upload
小川 昌吾
Lara vue
Lara vue
小川 昌吾
Atomic design+vue
Atomic design+vue
小川 昌吾
今年はある意味当たり年だった! という一年振り返り
今年はある意味当たり年だった! という一年振り返り
小川 昌吾
Njug docker-20180623
Njug docker-20180623
小川 昌吾
アプリ屋のための Docker入門
アプリ屋のための Docker入門
小川 昌吾
Njug 20180414
Njug 20180414
小川 昌吾
Java屋からPHPerになって1年くらい経った
Java屋からPHPerになって1年くらい経った
小川 昌吾
チュートリアルではじめるVue.js
チュートリアルではじめるVue.js
小川 昌吾
受託、SES、WEBと経験したので比較してみた
受託、SES、WEBと経験したので比較してみた
小川 昌吾
ITの開発現場における最近の当たり前これからの当たり前(主観)
ITの開発現場における最近の当たり前これからの当たり前(主観)
小川 昌吾
非エンジニアに捧ぐツアーオブ構成管理
非エンジニアに捧ぐツアーオブ構成管理
小川 昌吾
Dynamo db はじめの一歩
Dynamo db はじめの一歩
小川 昌吾
スキトラGit
スキトラGit
小川 昌吾
スキトラ Spring + mybatis
スキトラ Spring + mybatis
小川 昌吾
テストコード入門
テストコード入門
小川 昌吾
IoT検定
IoT検定
小川 昌吾
Plus de 小川 昌吾
(20)
Effective flutter
Effective flutter
Flutter first impression
Flutter first impression
Flutter management statement
Flutter management statement
Laravel vue-project-upload
Laravel vue-project-upload
Lara vue
Lara vue
Atomic design+vue
Atomic design+vue
今年はある意味当たり年だった! という一年振り返り
今年はある意味当たり年だった! という一年振り返り
Njug docker-20180623
Njug docker-20180623
アプリ屋のための Docker入門
アプリ屋のための Docker入門
Njug 20180414
Njug 20180414
Java屋からPHPerになって1年くらい経った
Java屋からPHPerになって1年くらい経った
チュートリアルではじめるVue.js
チュートリアルではじめるVue.js
受託、SES、WEBと経験したので比較してみた
受託、SES、WEBと経験したので比較してみた
ITの開発現場における最近の当たり前これからの当たり前(主観)
ITの開発現場における最近の当たり前これからの当たり前(主観)
非エンジニアに捧ぐツアーオブ構成管理
非エンジニアに捧ぐツアーオブ構成管理
Dynamo db はじめの一歩
Dynamo db はじめの一歩
スキトラGit
スキトラGit
スキトラ Spring + mybatis
スキトラ Spring + mybatis
テストコード入門
テストコード入門
IoT検定
IoT検定
DevOpsを支える技術勉強会(CI編)
1.
2016/11/9 sh-ogawa *
2.
* *DevOps *CIについて *CIのはじめかた *現場におけるCIとの付き合い方
3.
* *対立しがちなDev(開発)とOps(運用)を分けて考 えるのではなく、DevとOpsが寄り添ったり協調 し合うことで、ソフトウェアはビジネスにもっ と貢献できるはず。 という思想
4.
* *それぞれの思惑 Dev:価値ある機能をどんどん追加して システムの価値を上げたい人たち Ops:システムの安定稼働が第一な人たち
5.
* *それぞれの思惑 Dev:価値ある機能をどんどん追加して システムの価値を上げたい人たち Ops:システムの安定稼働が第一な人たち 対立関係にある
6.
* とはいえ、 DevもOpsも 「システムによってビジネスの価値をより高める だけでなく、そのビジネスの価値をより確実かつ 迅速にエンドユーザーに届け続ける」 という根底の思いの部分は同じ(はず)
7.
* お互い目指すものは同じだから、 一緒に頑張って協調しようぜ! とFlickrがツールと組織文化の観点から提示した ものがDevOps(の起源っぽい)
8.
* DevOpsを支えるツールとは、 *インフラを自動化するためのもの *開発と保守を並行で行うためのバージョン管理システム *ワンステップビルド&デプロイで安全デリバリ *フィーチャーフラグで機能の有効無効を制御 *ソフトウェアメトリクスの共有(技術的負債など) *Botによるアラートなどの検知
9.
* 組織文化とは *お互いを尊重する *お互いを信頼する *失敗に対して健全な態度を取る *相手を非難しない 自分の言葉で置き換えてみると、 *自分が一番できないヤツだと心の底から思えるマインド ※卑屈になるのはNG *失敗はチャレンジした結果であると、組織が認める器量
10.
図にするとこんな感じ(ぱくった)
11.
間違いを恐れずに要約してみると、 *開発するときは、自分たちが運用するつもりで、 運用できそうなものを、しっかりと開発しよう *ソフトをリリースするときには、 人の手を排除できるものは全て排除して、リリースツー ルに任せよう (定型の行動ならば、人よりも機械の方が信用できるよ) *運用中は、どんな使われ方をされているのか、どんな不 具合がよく発生しているのかを収集・分析して 開発へフィードバックしよう そうしたら、開発が使われていない機能は削除したり、 利用者が喜ぶ機能を追加してくれる (つまり、一番上のプロセスに戻ってスパイラルが起きる)
12.
*
13.
* DevOpsを支えるツールとは、 *インフラを自動化するためのもの *開発と保守を並行で行うためのバージョン管理システム *ワンステップビルド&デプロイで安全デリバリ *フィーチャーフラグで機能の有効無効を制御 *ソフトウェアメトリクスの共有(技術的負債など) *Botによるアラートなどの検知
14.
* DevOpsを支えるツールとは、 *インフラを自動化するためのもの *開発と保守を並行で行うためのバージョン管理システム *ワンステップビルド&デプロイで安全デリバリ ← コレ! *フィーチャーフラグで機能の有効無効を制御 *ソフトウェアメトリクスの共有(技術的負債など) *Botによるアラートなどの検知
15.
*ワンステップビルド &デプロイ ワンステップビルド&デプロイ していないプロジェクトにおける よくある例
16.
*ワンステップビルド &デプロイ *入念にレビュー・検証されたリリース手順書を準備する *印鑑貰いに偉い人を巡るスタンプラリーの実施 *リリースビルド用のマシン(があればまだマシだが。。) 上で、作ったプログラムをリリース用にコンパイル *コンパイルして生成された.soなり.jarをリリース先のマシ ンのどこかにコピー *リリース手順書通りにソフトのリリースを実施
17.
*ワンステップビルド &デプロイ はい、とっても怠いです。
18.
*ワンステップビルド &デプロイ この方法に何が問題があるかというと *スタンプラリーが疲れる *ビルド対象を間違える可能性がある(複数環境ある場合) *どれだけ念入りに作成した手順書をベースにして作業をし ても、人の手で操作するためミスが起きるときは起こって しまう *サーバが複数台あると、同じ作業を何度もしないといけな い(怠いし、その分操作を間違えるリスクが増える)
19.
*ワンステップビルド &デプロイ でもちょっと考えてみてください。 作業手順書って結局はコマンドの羅列ですよね? これって、ソフトウェアに置き換えることが可能だと は思いませんか? ビルドについても、結局はコマンドの羅列ですよね。 これって、ソフトウェアに置き換えることが可能だと は思いませんか?
20.
*ワンステップビルド &デプロイ ビルドもデプロイも全部一緒にできたら、 色々と楽になりますよ、と。
21.
*ワンステップビルド &デプロイ ・・・(゜o゜) CIの勉強会のつもりが、CDの話になってしまった・・・。
22.
*ワンステップビルド &デプロイ が、誰も来ないようなので、 このまま言い切っちゃいます。
23.
*ワンステップビルド &デプロイ ビルドとデプロイをコード化してしまって、 プログラムで自動で行うことはCDの手法です。
24.
*ワンステップビルド &デプロイ CDっていうと、 コンパクトディスク 継続的デリバリ(Continuous Delivery)と、 継続的デプロイメント(Continuous Deployment) っていう言葉がIT業界ではここ数年よく出てきます。
25.
*ワンステップビルド &デプロイ CDっていうと、 コンパクトディスク 継続的デリバリ(Continuous Delivery)と、 ←主にこっちのこと 継続的デプロイメント(Continuous
Deployment) っていう言葉がIT業界ではここ数年よく出てきます。
26.
*ワンステップビルド &デプロイ 意味は、 *継続的デリバリは、 ソフトウェアをいつでもビルド&デプロイ可能な状態に しておいて、好きなときにリリースする *継続的デプロイメントは、 ソフトウェアをいつでもビルド&デプロイ可能な状態に しておいて、定常的にリリースする
27.
*ワンステップビルド &デプロイ 継続的デリバリと継続的デプロイメントのどちら が良いかは、システム次第ではある。 が、定常的にリリースするようなシステムは 見たことないです。
28.
*ワンステップビルド &デプロイ けど、いっつもリリースしているってことは、 いつでもリリースできるということですよね。
29.
*ワンステップビルド &デプロイ てなわけで、こんな感じで取り組むと良いです
30.
*ワンステップビルド &デプロイ *開発中 →継続的デプロイメントでガンガンビルド&デプロイして、 リリースする仕組みの品質を上げしておく *サービスイン後(もしくは直前) →継続的デプロイメントから、 継続的デリバリに切り替えて、リリース時の安寧を得る
31.
*ワンステップビルド &デプロイ リリースの信頼が上がると、 「リリース? タイミングの良いところでやれば良いんじゃね?ご自由に。」
32.
*ワンステップビルド &デプロイ と、まではいかないまでも リリースのハードルは爆下げします。 また、リリースがソフトウェアによって行われるため、 リリース作業の属人化から解放されて、 つまらない仕事をする時間が減ります。
33.
*ワンステップビルド &デプロイ そろそろ今日の本題に入ろうと思います (長かった・・・)
34.
*ワンステップビルド &デプロイ と、その前に何でこんな話になってしまったかという 言い訳を・・・
35.
*ワンステップビルド &デプロイ CDを実現するためには、CIが必要です。 CIするのにCDは要りませんが、 CDするためには、CIは必須なものになります。
36.
*ワンステップビルド &デプロイ CDはビルド&デプロイをソフトウェアで行いますが、 これを行うためには、ビルドするプログラムの品質を担 保する必要がありますよね?
37.
*ワンステップビルド &デプロイ CDはビルド&デプロイをソフトで行いますが、 これを行うためには、ビルドするプログラムの品質を担 保する必要がありますよね? ここにCIを使う
38.
本題に入ります CIとは・・・
39.
* 作ったソフトウェアの 品質を維持する手段です
40.
どうやって行うかというと、 に支援してもらいます。
41.
Jenkinsじゃなくても良いけど、 会社もJenkins使ってるとこが多いし、 Jenkins有名だから Jenkins使います。 ちなみに紳士です。
42.
紳士だけど ちゃんと面倒見ないと こうなることも
43.
Jenkinsを使って何をするかというと、 *定期的な単体テストの実行 *定期的なビルド *何かやらせたい仕事(最終的にはデプロイさせたい)
44.
CIをやっていないプロジェクトでよく出る問題 時間も経っているため、何起因でエラーになったのかスグに判らない! そもそもの対応方針が間違っていたとしたら、後戻りが大きい!
45.
CIを行うと・・・ 修正した機能のリアルな影響がスグにフィードバックされるため、 スグに軌道修正できる!
46.
* *ソフト全体の品質の維持&手戻りリスクの削減 *作ったソフトに自信を持てる(リリース時の精神の安定を我が手に!) *ソフトのリリースを待っているお客さんに動くものを提供できる *ずっと面倒を見ないといけないシステムにおいて、 ソフトウェアのメンテナンスが楽になる *攻撃的なリファクタリングが可能
47.
* *CIを行うためには前提条件があるため、 企業文化によっては、新規開発以外は始めづらい (※社内案件は問答無用でやるべき) *何でもかんでもCIに組込んでやらせすぎると後々ツライ *カットオーバとか言っちゃうプロジェクトや、 短期型プロジェクトには向かない (テストコードを書く工数が無駄)
48.
* 以下のモノが必須です *単体テストコード *Make、ANTなど、自分で頑張ってライブラリファイル を紐づける系のコンパイルをしているところは、 ビルドスクリプト *Make、ANTなど使っている場合は、 大抵の場合はCI環境への使用MWのインストール *忘れてたけど、おじさん(Jenkins)のインストール
49.
* 以下のモノが必須です *単体テストコード ← はじめるための最大の障壁 *Make、ANTなど、自分で頑張ってライブラリファイル を紐づける系のコンパイルをしているところは、 ビルドスクリプト *Make、ANTなど使っている場合は、 大抵の場合はCI環境への使用MWのインストール *忘れてたけど、おじさん(Jenkins)のインストール
50.
* とりあえず、テストコードがあればCIは始められます。 更に導入を楽にさせるためには、 *ANT → MavenやGradleなどライブラリの依存関係を自動で解 決してくれるビルドの仕組みを取り入れる CIを最終的にCDと連携させる場合(最終目標は必ずコレ!)は、 *Subversion
→ Gitなどの分散バージョン管理に切り替える ※CDまでしなくても、CIの恩恵はGitの方が大きく受けられる
51.
* Maven/Gradleなどへの乗り換え方 *参照しているライブラリのバージョンを確認しながら、ひ たすらソフトウェア構造を定義するファイルに書きまくる *可能であれば、社内にライブラリ管理を行うためのリポジ トリサーバ(Maven Repositoryのローカル版)を立ち上げる ※スモールスタートでは不要だが、要員が増えたり、 全社標準、最終的に作ったソフトを置く場合は必須
52.
* Gitへの乗り換え方 *git svn fetchで乗り換える(前回の内容) http://qiita.com/hidekuro/items/4727715fbda 8f10b6b11 *CI/CD前提でGitを使う場合は、 Subversionの考え方は通用しないので、 しっかりとメンバーを教育しよう
53.
* そんなこんなで、CIをはじめるためには、 *テストコードを書く(必須) *ビルドはMavenやGradleを使う(推奨) *ソース管理はGitなどの分散バージョン管理を使う(推奨) *おじさん(Jenkins)入れる(必須) をやると良い
54.
* おじさんを入れるには、 *Linux・・・yumで入れるとソッコー終わる http://qiita.com/sh-ogawa/items/120b3c0eef93e48a862a *Mac・・・homebrew使えばソッコー終わる *Windows・・・インストーラ叩くと勝手に終わる 1ステップで終わるので、 とっても簡単におじさんがあなたの元にやってきます。
55.
* で、余力があったら *テスト結果やソースコードの状態を可視化する 統合品質管理ソフトのSonarQubeを入れてCIと連携する http://qiita.com/sh-ogawa/items/fac0eca110c3558dfae9 *ライブラリ管理を行ってコンパイルした成果物を保存する http://qiita.com/sh-ogawa/items/26bd4edb2eff5787ca75 ここまで出来たら、CIのレベルとしてはかなり良い感じ。
56.
* 言葉でどうやって使うのか説明するよりも、 実際に見せた方が速いので この場でデモ・・・
57.
* ベーシックなところは大体言ってしまいましたが、 *単体テストコードの定期的な実行 ※モックの使用を許可したテストコードの実行 *結合テストコードの定期的な実行 ※モックを使わないテストコードの実行 プロジェクトによっては、単体テストコード相当になる *テストコード実行時のカバレッジの取得 *リリースビルド
58.
* もうちょっと進んでいるところは、 *単体テストコードの定期的な実行 ※モックの使用を許可したテストコードの実行 *結合テストコードの定期的な実行 ※モックを使わないテストコードの実行 プロジェクトによっては、単体テストコード相当になる *テストコード実行時のカバレッジの取得 *リリースビルド *ソースコードの統合的な品質チェック
59.
* 使い倒しているところは、 *単体テストコードの定期的な実行 ※モックの使用を許可したテストコードの実行 *結合テストコードの定期的な実行 ※モックを使わないテストコードの実行 プロジェクトによっては、単体テストコード相当になる *テストコード実行時のカバレッジの取得 *リリースビルド *ソースコードの統合的な品質チェック *デプロイの実行
60.
* ちなみに、Jenkinsのユニークな使い方をしているところだと、 *バッチの実行基盤 *シェル叩かせるだけ みたいなところもあるみたいです。 超簡易サーバレスとか出来ちゃいそう (貧弱そうなので、システムに組み込む勇気はないが)
61.
* そろそろ疲れて来ましたが、 僕の関わる現場でCIをどのように活用したかを 説明します。
62.
* マスタリングビルド職人より(https://www.gitbook.com/book/uga/mastering-builder)
63.
* マスタリングビルド職人より(https://www.gitbook.com/book/uga/mastering-builder) この部分
64.
* Gitのブランチ master version feature
65.
* Gitのブランチ master version feature ベースリポジトリ にマージするブランチ
66.
* Gitのブランチ master version feature ベースリポジトリ にマージする単位を表す ブランチ(バージョン番号 を付ける) git-flowのdevelop相当
67.
* Gitのブランチ master version feature ベースリポジトリ にマージする単位を表す ブランチに入れる機能を 開発するブランチに入れ 込む
68.
* 開発の進み方 master version feature checkout
-b checkout -b commit merge/pull req merge
69.
* 質問: Gitのブランチでソフトウェアの品質を死守した いポイントはどこでしょう? master version feature
70.
* Gitのブランチでソフトウェアの品質を死守した いポイントはどこでしょう? master version feature ここ
71.
* Gitのブランチでソフトウェアの品質を死守した いポイントはどこでしょう? master version feature なので、ここをCIと連携させ て継続的にテストする
72.
* Gitのブランチでソフトウェアの品質を死守した いポイントはどこでしょう? master version feature なんでこっちではないか?
73.
* ベースリポジトリにマージ直前にテストを実行し て、エラーが出ると手戻りが大きい。 masterブランチはクリーンな状態(ビルド可能) を保ちたい。
74.
* マスタリングビルド職人より(https://www.gitbook.com/book/uga/mastering-builder) この部分
75.
* Gitのブランチ masterdev stage product
76.
* Gitのブランチ masterdev stage product サイトリポジトリで単体テスト・レ ビュー・CIのテストなど一通りクリアし たものがマージされるブランチ (確実にビルド可能) このブランチから開発環境にデプロイし てテストする(結合試験を想定)
77.
* Gitのブランチ masterdev stage product 結合試験してOKだった場合に、dev からマージされるブランチ。 ステージング環境にデプロイして テストする(総合試験を想定)
78.
* Gitのブランチ masterdev stage product 総合試験してOKだった場合に、 stageからマージされるブランチ。 本番環境にデプロイしてリリース する。またMaven(Archaiva)リポジ トリにデプロイした一式を保存し ておく。
79.
* Gitのブランチ masterdev stage product 本番環境にリリースしたものを保持し ておくリポジトリ (保持だけで何もしない)
80.
* Gitのブランチ masterdev stage product Jenkinsから、 各ブランチに対応した環境に対応したモジュールをビルド &デプロイするようにしておく (CDの部分)
81.
* Gitのブランチ masterdev stage product 本番環境にリリースしたものを保持し ておくリポジトリ (保持だけで何もしない) 質問ですが、 これってどう思います か??
82.
* Gitのブランチ masterdev stage product サイトリポジトリから merge/pull
req merge merge merge
83.
* Gitのブランチ masterdev stage product サイトリポジトリから merge/pull
req merge merge merge 各フェーズをクリアしたものを 横のブランチに移していくことで、 コンフリクトやマージ漏れを防いで 迅速にリリースまで持っていく
84.
* Gitのブランチ masterdev stage product 本番環境にリリースしたものを保持し ておくリポジトリ (保持だけで何もしない) これの意味は、 次回リリースの最後の最後まで、確実に動いたソース一 式を保持しておき、いざとなったらmasterからproductを 上書きして元に戻すために存在する最後の砦
85.
* こうしておくことで、 元に戻すときに、 この場合の対応は、hogehoge この場合は、hogehoge2 など考えなくて済む。 シンプルに元に戻して配って終わり。
86.
まとめ
87.
* CIとは・・・ *CIはソフトウェアの品質を担保するための手段の一つ *保守し続けるシステムには必須 *Gitとの親和性が高い *CDとの懸け橋になる (これメインだったんじゃないかという資料に・・・)
88.
ご静聴ありがとうございました。
Télécharger maintenant