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にトライ! / Wha...
Search
ihcomega56
July 30, 2020
Technology
0
420
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
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
1
120
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
1.9k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.5k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
200
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.4k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
280
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
490
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6.3k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.6k
Other Decks in Technology
See All in Technology
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
役割は変わっても、変わらないもの 〜スクラムマスターからEMへの転身で学んだ信頼構築の本質〜 / How to build trust
shinop
0
140
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
230
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
180
小さなチーム 大きな仕事 - 個人開発でAIをフル活用する
himaratsu
0
140
まだ間に合う! StrandsとBedrock AgentCoreでAIエージェント構築に入門しよう
minorun365
PRO
10
550
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
2
130
Vault meets Kubernetes
mochizuki875
0
140
ヒューリスティック評価を用いたゲームQA実践事例
gree_tech
PRO
0
340
AIエージェントの活用に重要な「MCP (Model Context Protocol)」とは何か
masayamoriofficial
0
230
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
200
Oracle Cloud Infrastructure:2025年8月度サービス・アップデート
oracle4engineer
PRO
0
150
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
900
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Agile that works and the tools we love
rasmusluckow
330
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Thoughts on Productivity
jonyablonski
69
4.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Scaling GitHub
holman
463
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
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