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
202307_GitLab入門 ~特徴的な機能にふれるワークショップ~
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
480
GitLabで快適な開発環境を! 〜GitLab Duo with Amazon Qのご紹介〜
kidapan
0
690
GitLab_Duo_with_Amazon_Q__1_.pdf
kidapan
0
370
202312_キラキラミラクルな呪文でIaCを実現 ~あなたも魔法を使い倒しませんか~
kidapan
0
1k
20231026_GitLabで実現_効率的な開発環境を
kidapan
0
960
[Snyk]デベロッパーセキュリティ強化! ~シフトレフトで安全な開発を~
kidapan
0
840
AIと一緒に音楽を作ろう ~作曲体験セッション~
kidapan
1
920
2023/05/11_GitLabの活用
kidapan
0
1.9k
comfortable_video_creation_THEOplayer.pdf
kidapan
0
740
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Marketing to machines
jonoalderson
1
5.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
So, you think you're a good person
axbom
PRO
2
2.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
570
How to Talk to Developers About Accessibility
jct
2
230
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
420
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