Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
202307_GitLab入門 ~特徴的な機能にふれるワークショップ~
Search
kidapan
July 08, 2023
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
202307_GitLab入門 ~特徴的な機能にふれるワークショップ~
kidapan
July 08, 2023
More Decks by kidapan
See All by kidapan
[AI音楽セッション] 奇跡の1曲をあなたに。
kidapan
0
540
GitLabで快適な開発環境を! 〜GitLab Duo with Amazon Qのご紹介〜
kidapan
0
880
GitLab_Duo_with_Amazon_Q__1_.pdf
kidapan
0
420
202312_キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~
kidapan
0
1.1k
20231026_GitLabで実現_効率的な開発環境を
kidapan
0
1k
[Snyk]デベロッパーセキュリティ強化! ~シフトレフトで安全な開発を~
kidapan
0
900
AIと一緒に音楽を作ろう ~作曲体験セッション~
kidapan
1
980
2023/05/11_GitLabの活用
kidapan
0
2k
comfortable_video_creation_THEOplayer.pdf
kidapan
0
790
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Claude Code のすすめ
schroneko
67
230k
Optimizing for Happiness
mojombo
378
71k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
910
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
690
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
600
Optimising Largest Contentful Paint
csswizardry
37
4k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
How to Talk to Developers About Accessibility
jct
2
560
Unsuck your backbone
ammeep
672
58k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Transcript
GitLab入門 ~GitLabの特徴について 学ぶハンズオンワークショップ~ 2023/7/8 クラスメソッド株式会社 アライアンス事業部 木田 雅伊子
目次 1.はじめに 2.GitLabとは 3.ハンズオン実践 4.付録
自己紹介 3 3 https://dev.classmethod.jp/author/kidapan/ 木田 雅伊子 /きだぱん クラスメソッド株式会社 アライアンス事業部 エンジニアグループ
担当:DevOps製品 マーシャルフェレット (4ヶ月) ジャンガリアンハムスター (1歳2ヶ月)
スタッフ紹介
1.はじめに 2.GitLabとは 3.ハンズオン実践 4.付録
ハンズオンの目的 GitLabの入門を目的としたハンズオンです。 GitLabとは一体何者なのかから始まり、 GitLabでの基本的な使い方や活用方法についてカバーします。 GitLabを使ったことがない方 GitLabで開発をするイメージがつかめていない方 目 的 対 象
ゴール GitLabの特徴や機能について理解が出来る GitLabの基本的な機能が分かるようになる
1.はじめに 2.GitLabとは 3.ハンズオン実践 4.付録
GitLabとは、 Gitを使った開発やサービスの公開をサポートしてくれるプ ラットフォーム Webサービスとして提供されている GitLabとは たぬきのアイコンが目印。 実はキツネではない。 以前より、丸くなりました。
•2011年に設立 ◦ ソースコード管理システムとしてスタート ▪ これをきっかけに、機能追加が開始される •バージョン管理システム(VCS) ◦ ソースコードの変更を管理する ◦ バージョンや、履歴、変更をひとつの文書として管理
◦ スナップショットを記録 ▪ メタデータ、タイムスタンプを活用 ◦ チーム間のコラボレーションをサポートする https://about.gitlab.com/company/
コードのバージョン管 理 プロジェクト管理/計 画 モニター WiKi 脆弱性管理 CI/CD 監査 課題分析
Auto DevOps
DevOps の全ステージを一貫してサポート
計画から開発・運用・監視まで ライフサイクルの全ステージを一貫してサポート
•DevOps におけるライフサイクルツール ◦ 開発と運用を橋渡しする •Git レポジトリマネージャ ◦ 共有リポジトリで互いのコードをインテグレーションする •CI/CD ◦
チーム全体で協力しあって力を合わせる ◦ パワフルで、スケールし、エンドツーエンドの自動化を 可能にする
GitLab コンポー ネント 機能 Project 作業が整理、管理、追跡、配信される中心的なビルディングブロックであり、チームがイシューという形で共同作業を行い、 作業計画を立てることを支援 Group プロジェクトの集合体。フォルダのようなもの Issue
イシューはプロジェクトの一部です。チームが説明のユースケースを文書化し、アプローチを議論し、サイズ/労力(イシュー の重み)を見積もり、実際の時間/労力を追跡し、作業を割り当て、進捗を追跡する基本的な計画オブジェクト Epic テーマごとの整理に役立つ、異なるグループやプロジェクトにまたがる関連するイシューの集合 Merge Request イシューと実際のコード変更との関連。設計、実装の詳細(コード変更)、議論(コードレビュー)、承認、テスト(CIパイプライ ン)、セキュリティスキャンの実施 Label プロジェクトやグループの作業にタグを付けて追跡し、イシューを異なるイニシアチブに関連付けるために使用 Board プロジェクトとイシューを視覚的に一覧できるため、チームが作業のバックログを管理し、項目に優先順位をつけ、イシュー をチームやプロジェクトの特定のステージに移動させるのに使う Milestone スプリントまたは成果物(複数)、コード、イシュー、マージリクエストをまとまったグループの整理に使う Roadmap グループの様々なエピックをビジュアルに表現したもの
多彩な展開方法
GitLabとは GitHubとは何が違う? •GitHubも同じようにGitを使った開発サポートの プラットフォームです! https://www.gitlab.jp/devops-tools/github-vs-gitlab.html
1.はじめに 2.GitLabとは 3.ハンズオン実践 4.付録
ハンズオン流れ 0.アカウント作成 1. プロジェクトとイシュー作成 2. Gitコマンド/Marge Request
ハンズオン0 アカウント作成 1 9
ハンズオン1 プロジェクトとイシューの作成
21 プロジェクト管理
グループとは • 会社の組織や製品を反映する ◦ チーム/部門/組織機能でのグループ単位 ◦ ソフトウェア製品あるいはアーキテクチャ単位 ◦ 地理的場所単位 •
あるGitLabコンポーネントを保持する • メンバーを持つことができる • メンバーに対して権限アクセスを付与することができる サブグループ • ネストされたグループ(最大20レベルまで可能) • 大きなプロジェクト群をまとめる • より柔軟なアクセス権限のコントロールをしたい • GitLabへのアクセス時のURLに含めることができる グループ サブグループ プロジェクト プロジェクト
プロジェクト • グループの中に存在できる • ソフトウェアプロジェクト、チーム、あるいは他のエンティティを示す • チームの計画や作業の完了を管理することができる • ソフトウェアを示す場合が多いが、必ずしもソフトウェアだけではない •
プロジェクトは、グループ直下、またはサブグループ配下に作成することができる • グループ ◦ サブグループ ▪ プロジェクト • イシュー ◦ コメント ◦ 参加者 ◦ アサイン ◦ プロジェクト ▪ イシュー • …
issue (イシュー)
issueとは • 管理を目的とした、単一のワークアイテム(作業アイテム)として詳細を 記述したもの ◦ 説明 ◦ メタデータ(ほとんどはオプション扱い) ◦ スレッドで議論できる
• コラボレーション参加者 • プロジェクトレベルで使える • プログラム開発だけじゃなく、あらゆる作業を記述できる • (プログラム開発じゃなくても)ブランチやマージリクエストを絡めるこ ともある • GitLabでプロジェクト管理をする際、最も最小単位のオブジェクト イシューは、GitLab上での 最小単位オブジェクト
ラベル
• イシューや、マージリクエスト、エピックに付与できる ◦ オーナーをアサインする ◦ ステータスを示す ◦ 優先度をセットする • フィルタリングのために利用し、ビューを複数持つことができる
• イシューボードをより便利に使うことができる • スコープ外なのか、スコープ内なのか、といった使い方もできる • ラベルには[購読機能]があるので、付与された際に通知を受け取ることができる • ラベルには[優先度]があるので、優先度別でソートすることができる • すでに定義済みのデフォルトのラベルを使うか、オリジナルのものを使うか ◦ プロジェクトレベル、グループレベル、グローバルレベルで設定できる • レベルについては、最も高いレベルで定儀すべき • 注意:レベルが異なれば、同じ名前で作成できる • 一つのアイテムには、複数のラベルを付与することができる
• プライベート ◦ グループ/プロジェクトに対する明示的なアクセス権 ◦ プロジェクトのクローン作成と閲覧は、プロジェクトメンバーのみ可能 ▪ (ゲストは除く) • インターナル
(セルフホスティングのみ、SaaSでは利用不可) ◦ すべてのログインユーザーは、リポジトリに対してゲスト権限を持つ ◦ 内部プロジェクトのクローン作成は、ログインしているユーザーであれば誰でも可能 • パブリック ◦ すべてのログインユーザーは、リポジトリに対してゲスト権限を持つ ◦ プロジェクトは、https や ssh 認証なしでクローンできる
ハンズオン2 Git / マージリクエスト
Marge Request (マージリクエスト)
None
マージリクエストによるトレーサビリティ • CI/CD パイプラインの状態 • レビュー用アプリへのリンク • 承認プロセス • テスト、検証結果
◦ コード品質 ◦ セキュリティスキャン ◦ ライセンスコンプライアンス ◦ パフォーマンス • コードレビュー • コミット履歴 • ソースコードの変更 • コメント
Git
•フリーのオープンソースバージョン管理システム(VCS) •ソフトウェア開発における、ソースコードの変更を管理する Git とは •分散 •適応しやすい •早い&安定 •柔軟 特 徴
ブランチ • 同じコードベースの異なるバージョンを管理するため の仕組み • チームから分離・独立した機能を開発するために使 用される • 独立した開発ライン •
同じソースコードを共有し、作業する • メインブランチは、main(デフォルト)ブランチ • git branch <branch name> プッシュ • ローカルリポジトリからリモートリポジトリにコンテンツ を転送またはアップロード • ローカルからリモートリポジトリへプッシュして送信 • コミット内容をプッシュしてエクスポート • コミット内容をフェッチしてインポート チェックアウト • ブランチの作成・移動・切り替え • git checkout コミット • 変更をローカルリポジトリに保存する仕組み • ある時点でのスナップショット
1.はじめに 2.GitLabとは 3.ハンズオン実践 4.付録
セキュリティ
https://about.gitlab.com/install/ 8つのセキュリティ機能 SAST(静的アプリケーションセキュリティ) DAST(動的アプリケーションセキュリティ) シークレット(認証情報)検知 Infrastructure as Code スキャン コンテナスキャン
ライセンスコンプライアンス(依存関係) ファズ(ファジング)テスト 脆弱性管理
その他
VS CodeのGitLab公式拡張機能「GitLab Workflow」
None
None
[AWS上でカンタン導入!GitLabで成功するDevOpsの実践方法 - YouTube] (https://www.youtube.com/watch?v=ccDtWMO-hE4)
None