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
390
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
0
73
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
1.8k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.3k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
150
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.3k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
250
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
460
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.5k
Other Decks in Technology
See All in Technology
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
350
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
1
950
E2Eテスト自動化入門
devops_vtj
1
120
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
110
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
180
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
130
LayerXにおけるAI活用事例とその裏側(2025年2月) バクラクの目指す “業務の自動運転” の例 / layerx-ai-deim2025
yuya4
1
190
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
5.5k
OPENLOGI Company Profile for engineer
hr01
1
20k
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
330
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
1.1k
Featured
See All Featured
The Language of Interfaces
destraynor
156
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
For a Future-Friendly Web
brad_frost
176
9.6k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Why Our Code Smells
bkeepers
PRO
336
57k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Rails Girls Zürich Keynote
gr2m
94
13k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How GitHub (no longer) Works
holman
314
140k
BBQ
matthewcrist
87
9.5k
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