SlideShare a Scribd company logo
8
Most read
9
Most read
11
Most read
1
GitLabのAuto DevOpsを
試してみた
Toshitaka Ito / 伊藤 俊廷
Senior Solutions Architect (APJ)
2021.03.31
第35回ニフクラエンジニアミートアップ: GitLabとニフクラでDevOpsを実践してみた
2
Toshitaka Ito
Senior Solutions Architect (APJ) at GitLab
Toshi has experience with Enterprise Apps Security vendor with a
focus on CI/CD skills. Prior to that, Toshi worked as a Technical
Consultant for one of the largest Japanese consultancies with
hands-on experience in Web Application Framework, Natural
Language Processing and Cloud Technology.
linkedin.com/in/toshitaka-ito/
gitlab.com/toshitakaito
3
GitLab: 会社とコミュニティ
会社
- 2014年法人化
- 65カ国以上にまたがる 1200名以上の従業員
- All-remote:オフィスを持たない
- 毎月の製品(オンプレ) リリースとGitLab.com(SaaS)の提供
広範な普及
- 100,000以上の組織
- 3000万以上のユーザ
- セルフマネージド (オンプレ)
DevOpsリポジトリとして70%の市場
シェア
強固なコミュニティ
- 2011年設立
- オープンソースモデル
- 3,000名以上のコードコントリビュータ
4
シングルアプリケーションによる
DevOpsプラットフォーム
5
Manage Plan Create Verify Package Secure Release Configure Monitor Defend
Audit
Management
Compliance
Value Stream
管理
DevOps Score
Insights
Agile プロジェ
クト管理
Kanban
Boards
Time Tracking
Epics
Roadmaps
Service Desk
Source Code
Management
Code Review
Wiki
Web IDE
Snippets
Continuous
Integration (CI)
コード品質
Code Testng &
Coverage
Web パフォー
マンステスト
Usability
Testing
Accessibility
Testing
Package
Registry
コンテナ
レジストリ
Dependency
Proxy
Git LFS
SAST
Secret
Detection
DAST
Dependency
Scanning
Container
Scanning
License
Compliance
セキュリティ脆
弱性管理
Continuous
Delivery (CD)
Pages
Review Apps
Advanced
Deployments
フィーチャーフ
ラグ
Release
Orchestration
Secrets
Management
Auto DevOps
Kubernetes
管理
ChatOps
Runbook
Configuration
Serverless
Infrastructure
As Code
Metrics
Alert
Management
Incident
Management
Logging
Tracing
Error Tracking
Container
Network
Security
カテゴリ別の主な機能とAuto DevOps
Auto DevOps
6
GitLab Auto DevOpsとは
GitLab CI/CD パイプラインの
ベストプラクティスの自動生成
7
Auto DevOpsの始め方と実施内容
1. アプリのDockerイメージのビルド
○ ソースコードの言語、プラットフォームの検出(Dockerfileがなければ)
○ 言語、プラットフォームに応じた一般的なビルドステップを実行
○ ビルドしたDockerイメージをGitLabコンテナレジストリにpush
2. アプリのテストコード実行
3. 静的スキャンを実行し、マージリクエストへ記録
○ コード品質スキャン
○ シークレット検出
○ 静的アプリケーションセキュリティテスト(SAST)
○ 依存関係(Dependency)スキャン
○ コンテナスキャン
○ ライセンススキャン
4. 自動生成されたサブドメインでレビューアプリとしてデプロイ
○ Helm Chartを利用
5. レビューアプリに対しスキャンし、マージリクエストへ記録
○ 動的アプリケーションセキュリティテスト(DAST)
○ ブラウザパフォーマンステスト
6. ステージング環境へデプロイ
○ ブランチのマージ後のみ
○ ポストデプロイメントステップの実行(例:DBのマイグレーション)
7. 本番(プロダクション)環境へのデプロイ
○ カナリアデプロイメントのサポート
○ インクリメンタルロールアウト(段階的デプロイ)のサポート
8. Prometheusによるモニタリング
9. デプロイボードによる全デプロイメントの記録
Step 1: Kubernetes 連携の設定
Step 2: Auto DevOps有効化
または定義テンプレートの利用
Step 3: あとはGitLabにおまかせ
https://docs.gitlab.com/ee/topics/autodevops/stages.html
8
Auto DevOpsの環境要件
1. 必須要件
○ DockerまたはKuberntes ExecutorのGitLab Runner
■ GitLab.comを使うのが一番手っ取り早く試せる
2. アプリをデプロイする場合
○ Kubernetesの用意、GitLabとの連携
■ Hatoba*1などのマネージドKubernetesを使用するのがおすすめ
■ Nginx Ingressのインストール
○ ドメインの用意
■ [IP_Address].nip.ioで到達可能なマネージドKubernetesなら、ドメイン取得なしでも可
3. アプリをモニタリングする場合
○ Prometheusのインストール
4. アプリをTLS/HTTPS化する場合
○ cert-managerのインストール
https://docs.gitlab.com/ee/topics/autodevops/requirements.html#auto-devops-requirements-for-kubernetes
※1 2021-03-31時点ではHatoba上でのAuto DevOpsの動作は未検証
9
Auto DevOpsのもう一つの活用方法
Auto DevOpsの構成要素
1. GitLab CI定義ファイルの
テンプレート
2. 各ジョブ専用のdockerイメージ
CI/CD パイプライン定義ファイルの
リファレンスとして
● mainブランチ以外のみでジョブを実
行させるには
● マージリクエストでレビューアプリの
URLをセットするには
● ブランチごとにユニークなイメージ
tag
名の生成するには
Auto Deployテンプレートの例
10
Demo
11
デモシナリオ
1. GitLab.com上のGitLabグループを
Kubernetesと連携済み
2. Springのサンプル
(https://gitlab.com/jkrooswyk/joel-spri
ngsample)を新規プロジェクトとしてイン
ポート
3. マージリクエストを経由し、リポジトリ直下
に.gitlab-ci.ymlのAuto DevOpsテンプ
レートを追加する
4. GitLabが用意するNodeJS Expressのプ
ロジェクトテンプレートから作成したプロ
ジェクトでも試してみる
12
告知
GitLab 日本語ページ
https://about.gitlab.com/ja-jp/
GitLab Hackathon 1Q '2021 in 日本語Day 2
日時:2021年4月1日(木) 14:00〜18:00 (途中入退場可)
https://gitlab-jp.connpass.com/event/209232/
GitLab DevOps Webinar シリーズ:
アプリケーションセキュリティのシフトレフトを実践するには(第三回)
Date: 2021年4月22日(木曜日)
Time: 14:00〜15:00(日本時間)
https://page.gitlab.com/shiftleft-applicationsecurity-jp.html
質問はコミュニティSlack https://gitlab-jp.herokuapp.com/ や jp_sales@gitlab.com へ
13
Everyone can contribute

More Related Content

PPTX
アジャイルメトリクス実践ガイド
PDF
リーン開発の本質 公開用
PPTX
世界一わかりやすいClean Architecture
PDF
フロー効率性とリソース効率性について #xpjug
PDF
テストとリファクタリングに関する深い方法論 #wewlc_jp
PDF
スクラムパタン入門
PDF
ソフトウェアにおける 複雑さとは何なのか?
PDF
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
アジャイルメトリクス実践ガイド
リーン開発の本質 公開用
世界一わかりやすいClean Architecture
フロー効率性とリソース効率性について #xpjug
テストとリファクタリングに関する深い方法論 #wewlc_jp
スクラムパタン入門
ソフトウェアにおける 複雑さとは何なのか?
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)

What's hot (20)

PPTX
本当は恐ろしい分散システムの話
PDF
Leanstartupをリーンにヤル #リーンスタートアップ
PDF
分散トレーシング技術について(Open tracingやjaeger)
PPTX
GraphQLのsubscriptionで出来ること
PDF
AWS Black Belt Online Seminar 2016 AWS CloudFormation
PDF
イミュータブルデータモデルの極意
PDF
ウォーターフォールとアジャイルのフェアな比較
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
PDF
WebAssemblyのWeb以外のことぜんぶ話す
PDF
ChatGPTは思ったほど賢くない
PDF
あなたのチームの「いい人」は機能していますか?
PDF
Apache Arrow - データ処理ツールの次世代プラットフォーム
PDF
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
PDF
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
PDF
Akkaで分散システム入門
PDF
正しいものを正しくつくる
PDF
Test Yourself - テストを書くと何がどう変わるか
PDF
ブルックスのいう銀の弾丸とは何か?
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
PDF
大企業アジャイルの勘所 #devlovex #devlovexd
本当は恐ろしい分散システムの話
Leanstartupをリーンにヤル #リーンスタートアップ
分散トレーシング技術について(Open tracingやjaeger)
GraphQLのsubscriptionで出来ること
AWS Black Belt Online Seminar 2016 AWS CloudFormation
イミュータブルデータモデルの極意
ウォーターフォールとアジャイルのフェアな比較
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
WebAssemblyのWeb以外のことぜんぶ話す
ChatGPTは思ったほど賢くない
あなたのチームの「いい人」は機能していますか?
Apache Arrow - データ処理ツールの次世代プラットフォーム
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
Akkaで分散システム入門
正しいものを正しくつくる
Test Yourself - テストを書くと何がどう変わるか
ブルックスのいう銀の弾丸とは何か?
ネットワーク ゲームにおけるTCPとUDPの使い分け
大企業アジャイルの勘所 #devlovex #devlovexd
Ad

Similar to GitLabのAutoDevOpsを試してみた (20)

PDF
DevOps with GitLabで始める簡単DevOps
PDF
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
PPTX
今さら聞けない人のためのDevOps超入門
PDF
Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...
PPTX
今さら聞けない人のためのDevOps超入門 ODC2024 9月7日バージョン
PPTX
GitLab好きのAzureユーザーに朗報!あなたのAzure OpenAIをつかって、GitLabでAIを使う方法とメリットをご紹介.pptx
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
PPTX
今さら聞けない人のためのDevOps超入門 OSC2024 Online/Fall版
PPTX
今さら聞けない人のためのDevOps超入門 2025/2/20 OSC2025 Tokyp/Spring
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
今さら聞けない人のためのDevOps超入門 ODC2023編
PPTX
今さら聞けない人のためのDevOps超入門
DevOps with GitLabで始める簡単DevOps
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
今さら聞けない人のためのDevOps超入門
Cloud Festa 2022 Summer 「UX Ops(Design Ops)、Data Ops、ML Ops、DevOps、GitOpsで実現す...
今さら聞けない人のためのDevOps超入門 ODC2024 9月7日バージョン
GitLab好きのAzureユーザーに朗報!あなたのAzure OpenAIをつかって、GitLabでAIを使う方法とメリットをご紹介.pptx
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
今さら聞けない人のためのDevOps超入門 OSC2024 Online/Fall版
今さら聞けない人のためのDevOps超入門 2025/2/20 OSC2025 Tokyp/Spring
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門 ODC2023編
今さら聞けない人のためのDevOps超入門
Ad

More from 富士通クラウドテクノロジーズ株式会社 (20)

PDF
弊社サービスを使って ノーコード開発してみた.pdf
PDF
今から始めるUbuntu入門_202307.pdf
PDF
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
PDF
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
PDF
今さら聞けないバックアップの基礎
PDF
自宅vSphereからニフクラに引っ越ししてみた
PPTX
自宅インフラの育て方 第2回
PDF
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
PPTX
これから始めるエンジニアのためのクラウド超入門
PPTX
「ネットワーク超入門 IPsec VPN編」
PDF
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
PDF
vSphere 7 へのアップグレードについて
PDF
VM 基盤運用チームの DevOps
PDF
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
PDF
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
PDF
インフラチームのリモートワーク
PDF
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ
弊社サービスを使って ノーコード開発してみた.pdf
今から始めるUbuntu入門_202307.pdf
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
今さら聞けないバックアップの基礎
自宅vSphereからニフクラに引っ越ししてみた
自宅インフラの育て方 第2回
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
これから始めるエンジニアのためのクラウド超入門
「ネットワーク超入門 IPsec VPN編」
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
vSphere 7 へのアップグレードについて
VM 基盤運用チームの DevOps
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
インフラチームのリモートワーク
テレワーク中もさみしくない!オンライン社内レクリエーションのススメ

GitLabのAutoDevOpsを試してみた

  • 1. 1 GitLabのAuto DevOpsを 試してみた Toshitaka Ito / 伊藤 俊廷 Senior Solutions Architect (APJ) 2021.03.31 第35回ニフクラエンジニアミートアップ: GitLabとニフクラでDevOpsを実践してみた
  • 2. 2 Toshitaka Ito Senior Solutions Architect (APJ) at GitLab Toshi has experience with Enterprise Apps Security vendor with a focus on CI/CD skills. Prior to that, Toshi worked as a Technical Consultant for one of the largest Japanese consultancies with hands-on experience in Web Application Framework, Natural Language Processing and Cloud Technology. linkedin.com/in/toshitaka-ito/ gitlab.com/toshitakaito
  • 3. 3 GitLab: 会社とコミュニティ 会社 - 2014年法人化 - 65カ国以上にまたがる 1200名以上の従業員 - All-remote:オフィスを持たない - 毎月の製品(オンプレ) リリースとGitLab.com(SaaS)の提供 広範な普及 - 100,000以上の組織 - 3000万以上のユーザ - セルフマネージド (オンプレ) DevOpsリポジトリとして70%の市場 シェア 強固なコミュニティ - 2011年設立 - オープンソースモデル - 3,000名以上のコードコントリビュータ
  • 5. 5 Manage Plan Create Verify Package Secure Release Configure Monitor Defend Audit Management Compliance Value Stream 管理 DevOps Score Insights Agile プロジェ クト管理 Kanban Boards Time Tracking Epics Roadmaps Service Desk Source Code Management Code Review Wiki Web IDE Snippets Continuous Integration (CI) コード品質 Code Testng & Coverage Web パフォー マンステスト Usability Testing Accessibility Testing Package Registry コンテナ レジストリ Dependency Proxy Git LFS SAST Secret Detection DAST Dependency Scanning Container Scanning License Compliance セキュリティ脆 弱性管理 Continuous Delivery (CD) Pages Review Apps Advanced Deployments フィーチャーフ ラグ Release Orchestration Secrets Management Auto DevOps Kubernetes 管理 ChatOps Runbook Configuration Serverless Infrastructure As Code Metrics Alert Management Incident Management Logging Tracing Error Tracking Container Network Security カテゴリ別の主な機能とAuto DevOps Auto DevOps
  • 6. 6 GitLab Auto DevOpsとは GitLab CI/CD パイプラインの ベストプラクティスの自動生成
  • 7. 7 Auto DevOpsの始め方と実施内容 1. アプリのDockerイメージのビルド ○ ソースコードの言語、プラットフォームの検出(Dockerfileがなければ) ○ 言語、プラットフォームに応じた一般的なビルドステップを実行 ○ ビルドしたDockerイメージをGitLabコンテナレジストリにpush 2. アプリのテストコード実行 3. 静的スキャンを実行し、マージリクエストへ記録 ○ コード品質スキャン ○ シークレット検出 ○ 静的アプリケーションセキュリティテスト(SAST) ○ 依存関係(Dependency)スキャン ○ コンテナスキャン ○ ライセンススキャン 4. 自動生成されたサブドメインでレビューアプリとしてデプロイ ○ Helm Chartを利用 5. レビューアプリに対しスキャンし、マージリクエストへ記録 ○ 動的アプリケーションセキュリティテスト(DAST) ○ ブラウザパフォーマンステスト 6. ステージング環境へデプロイ ○ ブランチのマージ後のみ ○ ポストデプロイメントステップの実行(例:DBのマイグレーション) 7. 本番(プロダクション)環境へのデプロイ ○ カナリアデプロイメントのサポート ○ インクリメンタルロールアウト(段階的デプロイ)のサポート 8. Prometheusによるモニタリング 9. デプロイボードによる全デプロイメントの記録 Step 1: Kubernetes 連携の設定 Step 2: Auto DevOps有効化 または定義テンプレートの利用 Step 3: あとはGitLabにおまかせ https://docs.gitlab.com/ee/topics/autodevops/stages.html
  • 8. 8 Auto DevOpsの環境要件 1. 必須要件 ○ DockerまたはKuberntes ExecutorのGitLab Runner ■ GitLab.comを使うのが一番手っ取り早く試せる 2. アプリをデプロイする場合 ○ Kubernetesの用意、GitLabとの連携 ■ Hatoba*1などのマネージドKubernetesを使用するのがおすすめ ■ Nginx Ingressのインストール ○ ドメインの用意 ■ [IP_Address].nip.ioで到達可能なマネージドKubernetesなら、ドメイン取得なしでも可 3. アプリをモニタリングする場合 ○ Prometheusのインストール 4. アプリをTLS/HTTPS化する場合 ○ cert-managerのインストール https://docs.gitlab.com/ee/topics/autodevops/requirements.html#auto-devops-requirements-for-kubernetes ※1 2021-03-31時点ではHatoba上でのAuto DevOpsの動作は未検証
  • 9. 9 Auto DevOpsのもう一つの活用方法 Auto DevOpsの構成要素 1. GitLab CI定義ファイルの テンプレート 2. 各ジョブ専用のdockerイメージ CI/CD パイプライン定義ファイルの リファレンスとして ● mainブランチ以外のみでジョブを実 行させるには ● マージリクエストでレビューアプリの URLをセットするには ● ブランチごとにユニークなイメージ tag 名の生成するには Auto Deployテンプレートの例
  • 11. 11 デモシナリオ 1. GitLab.com上のGitLabグループを Kubernetesと連携済み 2. Springのサンプル (https://gitlab.com/jkrooswyk/joel-spri ngsample)を新規プロジェクトとしてイン ポート 3. マージリクエストを経由し、リポジトリ直下 に.gitlab-ci.ymlのAuto DevOpsテンプ レートを追加する 4. GitLabが用意するNodeJS Expressのプ ロジェクトテンプレートから作成したプロ ジェクトでも試してみる
  • 12. 12 告知 GitLab 日本語ページ https://about.gitlab.com/ja-jp/ GitLab Hackathon 1Q '2021 in 日本語Day 2 日時:2021年4月1日(木) 14:00〜18:00 (途中入退場可) https://gitlab-jp.connpass.com/event/209232/ GitLab DevOps Webinar シリーズ: アプリケーションセキュリティのシフトレフトを実践するには(第三回) Date: 2021年4月22日(木曜日) Time: 14:00〜15:00(日本時間) https://page.gitlab.com/shiftleft-applicationsecurity-jp.html 質問はコミュニティSlack https://gitlab-jp.herokuapp.com/ や jp_sales@gitlab.com へ