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
Proposal of Projects Improvement with GitHub
Search
Inoue-KK
September 13, 2022
Technology
0
60
Proposal of Projects Improvement with GitHub
とあるプロジェクトでのGitHub導入を想定した、個人的な提案資料です。
Inoue-KK
September 13, 2022
Tweet
Share
Other Decks in Technology
See All in Technology
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
2.2k
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
170
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
310
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
200
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
610
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
250
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
Context Engineeringの取り組み
nutslove
0
360
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
440
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
20260204_Midosuji_Tech
takuyay0ne
1
160
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
130
Documentation Writing (for coders)
carmenintech
77
5.3k
Designing for Performance
lara
610
70k
Crafting Experiences
bethany
1
49
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Unsuck your backbone
ammeep
671
58k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
260
Building the Perfect Custom Keyboard
takai
2
690
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
83
Transcript
バージョン管理システムによる 開発環境の課題改善検討案 Inoue-KK
目次 • 課題と改善案の概観 • 課題1: バージョン管理 • 課題2: 手作業による比較・マージ •
課題3: バグ・タスク管理 • バージョン管理システム「GitHub(ギットハブ)」紹介 • セキュリティ及び安全性 • 検証スケジュール(案) • まとめ
課題と改善案の概観 本資料では下記の課題とその改善案を提案する。 なお全ての課題はバージョン管理システム「GitHub(ギットハブ)」によって改善可能と想定さ れ、次ページ以降でその詳細と改善可能性・想定検証内容を紹介する。 1. バージョン管理 [現在の状況] バージョン名フォルダをファイルサーバで管理 [課題] 容易に書き換え・削除のリスクあり、検知・追跡・復旧が困難
[改善案] バージョン管理システムによるバージョン管理を導入 2. 手作業による比較・マージ [現在の状況] 部分修正等の差分を手動でマージ [課題] マージ作業に多くの工数が必要、マージ作業にノウハウが必要となり属人的、マージ後にも手 動での動作検証が必要 [改善案] バージョン管理システムによるパッチ提出・レビュー支援と半自動マージを導入 3. バグ・タスク管理 [現在の状況] ソースコードをファイルサーバで、バグやタスクをエクセルシートで管理 [課題] バグ・タスクの管理状況、ドキュメントの変更状況、ソースコードの改修状況がそれぞれ独立 しており一致しない [改善案] バージョン管理システムの課題管理機能とソースコード管理機能による一元管理
課題1: バージョン管理 現状 フォルダ名にバージョン番号を入れて ファイルサーバ上で管理 課題 • 書き込み権限があればバージョンの 変更・削除ができてしまう •
万が一意図せず変更・削除された際、 検知や追跡、復旧が困難 改善案 • GitHubの「リリース」機能と「タ グ」機能により、バージョンが変更 されないよう固定できる見込み • 後述の「監査ログ」により操作履歴 を追跡できる見込み [対象機能] • リポジトリのリリースを管理する https://docs.github.com/ja/repositories/relea sing-projects-on-github/managing-releases- in-a-repository • リポジトリのリリースとタグを表示する https://docs.github.com/ja/repositories/relea sing-projects-on-github/viewing-your- repositorys-releases-and-tags ├ project-a │ ├ │ │ ◦◦ツール_ソース ◦◦ツール_ver1.0.0 ◦◦ツール_ver1.0.1 ◦◦ツール_ver1.0.2
課題2: 手作業による比較・マージ 現状 以下の流れで変更作業を行っている 1. 対象ソースコードを複製して開発者に渡す 2. 開発者が対象ソースコードを変更 3. 開発者が変更後のソースコード一式をファイ
ルサーバの指定フォルダに配置 4. マージ担当者が変更内容をマージツールで確 認しながらマージ 5. マージ担当者がマージ結果を検証 6. マージ担当者がマージされたソースコード一 式をファイルサーバの指定の場所に配置 課題 • 作業に時間を要する • 人為的ミスが生じやすい • マージ作業が複雑 • マージ作業の分担が困難 改善案 • GitHubの「プルリクエスト」機能により、 ソースコードの変更箇所が視認性高くレビュー でき、対象ファイルのみを安全にマージできる 見込み • 経過をプロジェクトメンバー間で共有できるた め、分担や再修正も効率的に行える可能性が高 い [対象機能] • Pull requestsについて https://docs.github.com/ja/pull- requests/collaborating-with-pull- requests/proposing-changes-to-your-work-with- pull-requests/about-pull-requests • プルリクエストのレビューについて https://docs.github.com/ja/pull- requests/collaborating-with-pull- requests/reviewing-changes-in-pull- requests/about-pull-request-reviews
課題3: バグ・タスク管理 現状 ソースコードやドキュメントはファイル サーバ、課題やバグ等はエクセルシート でそれぞれ管理している 課題 課題・バグ等の資料からソースコードや ドキュメントの変更が追跡しにくいため、 課題やバグ修正が完了しているかの確認
作業が発生 改善案 GitHubの「イシュー」機能や「マイルストー ン」機能により、課題・バグの管理と、開発進 捗の把握・共有が効率良くプロジェクト内で共 有できる見込み [対象機能] • Issueについて https://docs.github.com/ja/issues/tracki ng-your-work-with-issues/about-issues • タスクリストについて https://docs.github.com/ja/issues/tracki ng-your-work-with-issues/about-task- lists • マイルストーンの進捗状況を表示する https://docs.github.com/ja/issues/using -labels-and-milestones-to-track- work/viewing-your-milestones-progress
バージョン管理システム「GitHub(ギットハブ)」紹介 GitHub(ギットハブ)とは? Microsoft社傘下のGitHub社により提供され ているバージョン管理サービス。 日本に限らず世界中の名だたる企業がソフ トウェア開発のために活用している。 導入実績 • 株式会社 日立製作所
https://github.co.jp/customer-stories/hitachi https://github.com/Hitachi • 富士通株式会社 https://github.co.jp/customer-stories/fujitsu https://github.com/fujitsu • KDDI株式会社 https://www.macnica.co.jp/business/dx/manufacturers/github/case _kddi.html https://github.com/KDDI-tech • 凸版印刷株式会社 https://github.co.jp/customer-stories/toppan • GMOフィナンシャルホールディングス株式会社 https://github.co.jp/customer-stories/gmo • Google https://github.com/google • Apple https://github.com/apple • Meta (Facebook) https://github.com/facebook • Amazon https://github.com/amzn • Microsoft https://github.com/microsoft
セキュリティ及び安全性 以下の機能でセキュリティを強化可能 • 2要素認証 (2FA) • 監査ログ • シングルサインオン (SSO)
• LDAPによる社内アカウントとの連携と一元管理 • IPアドレスによる接続元制限 • 自社ホスティングによる安心と安全基準の担保
検証スケジュール(案) 2022. 10 2022. 11 2022. 12 2023. 01~ バージョン管理
機密情報を含まない サンプルプロジェク トを新規作成し、リ リースバージョン管 理の検証。 パッチ提出・レビュー支 援・半自動マージ サンプルプロジェク トにてパッチ提出と レビュー支援機能を 検証。 半自動マージによる 成果物が検証される ことを確認。 課題とソースコード の一元管理 (予定)次期フェーズ 検証 サンプルプロジェク トにて疑似的に発生 させたバグや機能追 加要望を管理し、 ソースコードと合わ せて一元管理可能か 検証。 顧客知的財産・個人 情報と関連の低いプ ロジェクトなどで導 入検証 複数名での使用、費 用感などを検証 など 全期間共通 隔週で進捗を報告 [成果物] デモンストレーションを兼ねてWebブラウザで閲覧可能なGitHub上のサンプルプロジェクトを提出。 (プロジェクト、アカウント等はセキュリティ担保のため、会社とは無関係かつ類推されないものを作成し使 用する)
まとめ • 現在、顕在または潜在的に存在する複数の課題は、バージョン管理システ ム「GitHub(ギットハブ)」導入と適切な運用により改善できると期待され る • 世間で広く導入実績があり、セキュリティも担保可能と考えられる • 追加費用なし、かつ少人数で検証可能である まずは「検証スケジュール(案)」の通り検証を進めたくご提案する。