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
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
820
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
480
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
260
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
120
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
140
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
Agile Leadership Summit Keynote 2026
m_seki
1
640
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
670
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
For a Future-Friendly Web
brad_frost
182
10k
The SEO Collaboration Effect
kristinabergwall1
0
350
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
Raft: Consensus for Rubyists
vanstee
141
7.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Building AI with AI
inesmontani
PRO
1
700
The untapped power of vector embeddings
frankvandijk
1
1.6k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
GraphQLとの向き合い方2022年版
quramy
50
14k
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(ギットハブ)」導入と適切な運用により改善できると期待され る • 世間で広く導入実績があり、セキュリティも担保可能と考えられる • 追加費用なし、かつ少人数で検証可能である まずは「検証スケジュール(案)」の通り検証を進めたくご提案する。