Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOpsって何だろう?デモ編 JFrogとJenkinsでCI/CDにトライ! / What is DevOps? with demo

DevOpsって何だろう?デモ編 JFrogとJenkinsでCI/CDにトライ! / What is DevOps? with demo

ihcomega56

July 30, 2020
Tweet

More Decks by ihcomega56

Other Decks in Technology

Transcript

  1. 自己紹介 Ayana Yokota Developer Advocate §2020年2月よりジョイン §前職までは主にバックエンドの開発 (SIer -> 広告会社

    -> 証券スタートアップ) § 韓国ドラマにハマり中 5XJUUFS!JIDPNFHB ʮΑ͜ͳʯͱ ݺΜͰ͍ͩ͘͞ 2
  2. 今日のメイントピック「CI」 このセッションは • CIを取り入れたことがない • よく分からないままCIツールをポチっとしてきた という方々が • CIとはどんなものか、何故必要なのかを理解できた •

    CIツールを使って自動化した開発フローのイメージを掴めた という状態になっていることを目指すセッションです! 一緒にDevOpsの大きな一歩を踏み出しましょう! 3 ਖ਼௚$*͕ා͍ํɺ ҆͝৺͍ͩ͘͞ʂ
  3. ツールの例 • ソースコード管理ツール • CI/CDパイプライン • テストツール • 設定の管理やデプロイを支えるツール •

    バイナリ管理ツール • モニタリングツール • セキュリティ対策ツール • コラボレーションツール(チャットやバグトラッキングなど) 8 Լઢ෇͖ͷπʔϧΛ σϞͰѻ͍·͢
  4. 自動化ポイント1: ビルドとデプロイ 12 • コマンドを1つずつ手で実行していませんか? • 一部スクリプト化しただけで満足していませんか? • 複数人で時間をかけて作業していませんか? •

    デプロイの度に複雑な手順書を用意する手間がかかっていませんか? • 面倒だったりミスが怖かったりしてデプロイをなるべく避けたい…なんて 思っていませんか?
  5. 14 • テストをすべて手動で行っていませんか? • 修正の影響範囲を調べるのに時間をかけすぎていませんか? • 環境によってテストの実行結果が異なっていませんか? 会員情報 編集機能 会員情報取得API

    ↓ 会員情報更新API ↓ 会員情報取得API 1つずつAPIコール して確認する… 自動化ポイント2: テスト ςετͱ͸গ͠ҧ͍·͕͢ ίʔυͷϑΥʔϚοτνΣοΫ΍ मਖ਼΋ࣗಈͰͰ͖·͢
  6. 自動化の先へ: CI 19 • CI(継続的インテグレーション)という考え方を取り入れると、 開発の効率や速度がさらに上がる • 開発したソースコードを頻繁にマスターとなるコードベース (例えばGitのmasterブランチ)にマージし、かつその後自動でテストや ビルドなどを行う

    • リリースの頻度を上げ、顧客に素早く価値を届けたりより多く のフィードバックを得たりすることを目指して改善していく • CIを支えるツールは数多くあり、「CIツール」と呼ばれる
  7. CIのポイント 20 • 処理のまとまりと前後関係を意識しよう • 他の人にも分かりやすい記述、命名を心がけよう • CIサーバーの設定はVCSで管理しよう • 冪等性のある処理にしよう

    (同じインプットに対し同じ操作をすれば同じ結果が得られることを目指す) • メンテナンスしやすい状態を保つ • 実行時に意識しなくてはいけないことをゼロにする (トリッキーで、特殊な知識がないと実行できないというのは望ましくない) ৄ͘͠͸σϞͰ ͓ݟͤ͠·͢
  8. JFrog Artifactory 24 • バイナリ・リポジトリマネージャー • ソースコードの様にアーティファクトをバージョン管理できる • アーティファクトにメタデータを付与して管理できる •

    25種以上のパッケージマネージャーに対応したユニバーサルな リポジトリなので使う技術が増えてもリポジトリが乱立しない • オンプレミス版、クラウド版(SaaS)から選べる