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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ihcomega56
July 30, 2020
Technology
0
430
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
140
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
2k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.6k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
220
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.4k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
310
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
530
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6.5k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.7k
Other Decks in Technology
See All in Technology
量子クラウドサービスの裏側 〜Deep Dive into OQTOPUS〜
oqtopus
0
120
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
120
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
300
Agent Skils
dip_tech
PRO
0
100
Tebiki Engineering Team Deck
tebiki
0
24k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.9k
Red Hat OpenStack Services on OpenShift
tamemiya
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
220
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.4k
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
120
今日から始めるAmazon Bedrock AgentCore
har1101
4
410
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Balancing Empowerment & Direction
lara
5
890
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Building Applications with DynamoDB
mza
96
6.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
190
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
A Soul's Torment
seathinner
5
2.3k
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