Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DevOpsって何だろう?デモ編 JFrogとJenkinsでCI/CDにトライ! / What is DevOps? with demo
Search
ihcomega56
July 30, 2020
Technology
0
350
DevOpsって何だろう?デモ編 JFrogとJenkinsでCI/CDにトライ! / What is DevOps? with demo
JFrog webinar
動画はこちら!:
https://www.youtube.com/watch?v=ZTVjSV2EicE&feature=youtu.be
ihcomega56
July 30, 2020
Tweet
Share
More Decks by ihcomega56
See All by ihcomega56
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
4
1.6k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
1
2k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
90
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.1k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
190
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
370
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
5.4k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.3k
元現場エンジニアが思う「もっとこうしておけばよかった」から学ぶDevSecOps / DevSecOps Best Practices learned from my experiences
ihcomega56
1
430
Other Decks in Technology
See All in Technology
現代CSSフレームワークの内部実装とその仕組み
poteboy
7
3.6k
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
5
530
生産性向上チームの紹介
cybozuinsideout
PRO
1
870
反実仮想機械学習とは何か
usaito
PRO
11
4.7k
本当のAWS基礎
toru_kubota
0
520
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
170
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
220
LangSmith入門―トレース/評価/プロンプト管理などを担うLLMアプリ開発プラットフォーム
os1ma
3
310
web-application-security
matsuihidetoshi
0
170
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
16k
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
480
Featured
See All Featured
Music & Morning Musume
bryan
41
5.6k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
Building Your Own Lightsaber
phodgson
99
5.7k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Statistics for Hackers
jakevdp
789
220k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Clear Off the Table
cherdarchuk
84
310k
How to Ace a Technical Interview
jacobian
272
22k
Designing the Hi-DPI Web
ddemaree
276
33k
How STYLIGHT went responsive
nonsquared
92
4.8k
Code Reviewing Like a Champion
maltzj
514
39k
Transcript
DevOpsって何だろう?デモ編 JFrogとJenkinsでCIにトライ! 2020.07.30 JFrog webinar
デモとご一緒に このセッションはデモが肝です!CIの実行が少しうまく行きませんでしたが… 動画はこちら(SpeakerDeckの説明欄からも飛べます): https://www.youtube.com/watch?v=ZTVjSV2EicE&feature=youtu.be デモは30:00頃から始まります!
自己紹介 Ayana Yokota Developer Advocate §2020年2月よりジョイン §前職までは主にバックエンドの開発 (SIer -> 広告会社
-> 証券スタートアップ) § 韓国ドラマにハマり中 5XJUUFS!JIDPNFHB ʮΑ͜ͳʯͱ ݺΜͰ͍ͩ͘͞ 2
今日のメイントピック「CI」 このセッションは • CIを取り入れたことがない • よく分からないままCIツールをポチっとしてきた という方々が • CIとはどんなものか、何故必要なのかを理解できた •
CIツールを使って自動化した開発フローのイメージを掴めた という状態になっていることを目指すセッションです! 一緒にDevOpsの大きな一歩を踏み出しましょう! 3 ਖ਼$*͕ා͍ํɺ ҆͝৺͍ͩ͘͞ʂ
まずはおさらいから 4 %FW0QTͬͯ Կ͚ͩͬ 参考(前回のwebinarより): 資料 https://speakerdeck.com/ihcomega56/what-is-devops 動画 https://www.youtube.com/watch?v=l3AYycWpMqc
DevOpsとは 顧客に価値を素早く届けるため 開発・運用が協力する 文化的な姿勢・取り組み 5
DevOpsを支える柱 6 文化 ベスト プラクティス ツール 参考: https://jfrog.com/devops-tools/what-is-devops/ • 始めからすべてに取り掛かる必要はないが、最終的にはすべて
達成することを目指す
今日は「ツール」に注目 7 ツール +'SPHओʹπʔϧͰ %FW0QTΛࢧ͑ΔձࣾͰ͢
ツールの例 • ソースコード管理ツール • CI/CDパイプライン • テストツール • 設定の管理やデプロイを支えるツール •
バイナリ管理ツール • モニタリングツール • セキュリティ対策ツール • コラボレーションツール(チャットやバグトラッキングなど) 8 Լઢ͖ͷπʔϧΛ σϞͰѻ͍·͢
ツールを使うと何が嬉しい? • 今日のポイントは「自動化」 o o o o o 9 ϦϞʔτϫʔΫΛ
ࢧ͑Δ͔ʂ
テストデプロイ どこが自動化できるだろう? 10 コーディング レビュー OSSの 脆弱性チェック 結合テスト 単体テスト ビルド
本番デプロイ
自動化ポイント1: ビルドとデプロイ 11 ビルド テストデプロイ 本番デプロイ
自動化ポイント1: ビルドとデプロイ 12 • コマンドを1つずつ手で実行していませんか? • 一部スクリプト化しただけで満足していませんか? • 複数人で時間をかけて作業していませんか? •
デプロイの度に複雑な手順書を用意する手間がかかっていませんか? • 面倒だったりミスが怖かったりしてデプロイをなるべく避けたい…なんて 思っていませんか?
自動化ポイント2: テスト 13 結合テスト 単体テスト
14 • テストをすべて手動で行っていませんか? • 修正の影響範囲を調べるのに時間をかけすぎていませんか? • 環境によってテストの実行結果が異なっていませんか? 会員情報 編集機能 会員情報取得API
↓ 会員情報更新API ↓ 会員情報取得API 1つずつAPIコール して確認する… 自動化ポイント2: テスト ςετͱগ͠ҧ͍·͕͢ ίʔυͷϑΥʔϚοτνΣοΫ मਖ਼ࣗಈͰͰ͖·͢
自動化ポイント3: OSSの脆弱性チェック 15 OSSの 脆弱性チェック
16 • 使用しているOSSをリストアップして1つずつチェックしていませんか? 自動化ポイント3: OSSの脆弱性チェック
こんなに自動化できる 17 ビルド 結合テスト 本番デプロイ OSSの 脆弱性チェック 単体テスト テストデプロイ
こんなに自動化できる 18 • 数日かかっていた作業が数十分〜数時間で終わる o o • 開発を続ける以上は何度も繰り返しやる作業なので、長い目で 見るとより大きな効果が実感できる ਖੵΕ
ࢁͱͳΔʜ
自動化の先へ: CI 19 • CI(継続的インテグレーション)という考え方を取り入れると、 開発の効率や速度がさらに上がる • 開発したソースコードを頻繁にマスターとなるコードベース (例えばGitのmasterブランチ)にマージし、かつその後自動でテストや ビルドなどを行う
• リリースの頻度を上げ、顧客に素早く価値を届けたりより多く のフィードバックを得たりすることを目指して改善していく • CIを支えるツールは数多くあり、「CIツール」と呼ばれる
CIのポイント 20 • 処理のまとまりと前後関係を意識しよう • 他の人にも分かりやすい記述、命名を心がけよう • CIサーバーの設定はVCSで管理しよう • 冪等性のある処理にしよう
(同じインプットに対し同じ操作をすれば同じ結果が得られることを目指す) • メンテナンスしやすい状態を保つ • 実行時に意識しなくてはいけないことをゼロにする (トリッキーで、特殊な知識がないと実行できないというのは望ましくない) ৄ͘͠σϞͰ ͓ݟͤ͠·͢
デモのアプリとシナリオ 21 request: 「ハロー」 response: 「ハロー」 request: 「ハロー」 response: 「ハローハロー」
デモのCI 22 push/ merge test, build deploy release scan clone
webhook
Jenkins 23 • オープンソースのCIツール • 日本で多くの開発者に使われている • トリガーや実行スクリプトなどの設定を柔軟に行える • プラグインも多く存在し、他ツールとのインテグレーションも
しやすい
JFrog Artifactory 24 • バイナリ・リポジトリマネージャー • ソースコードの様にアーティファクトをバージョン管理できる • アーティファクトにメタデータを付与して管理できる •
25種以上のパッケージマネージャーに対応したユニバーサルな リポジトリなので使う技術が増えてもリポジトリが乱立しない • オンプレミス版、クラウド版(SaaS)から選べる
JFrog Xray 25 • OSSの脆弱性・ライセンス違反を自動で検出できる • アーティファクトに対しチェックをかけることができる • 検出された脆弱性のレベルに応じて通知をしたりダウンロード を禁止したりといった柔軟な設定ができる
デモのCI(改めて) 26 push/ merge test, build deploy release scan clone
webhook
まとめ 27 • DevOpsを支える要素のひとつ「ツール」を導入することで 作業の自動化ができる • 自動化を発展させた「CI(継続的インテグレーション)」により 顧客への価値提供、フィードバックの収集が素早く高頻度に 行える •
大事なポイントをおさえてCIツールを使い、誰もが使いやすく メンテナンスしやすい状態を目指すことが大事である
28 Thank you