pythonとgit hubとベンチャー企業の上手な付き合い方
Post on 04-Jun-2015
14.938 Views
Preview:
TRANSCRIPT
PythonとGitHubと
ベンチャー企業の
上手な付き合い方
藤原 敬弘 (@tfmagician)
あじぇんだ
1. 自己紹介2. 弊社の開発フロー
○ コードレビュー○ ブランチ運用○ リポジトリ運用○ issuesとwikiの活用
3. PythonとGitHubの連携4. GitHubにあるPythonに関連する便利OSS
PythonとGitHubとベンチャー企
業の 上手な 付き合い方
GitHubやGitに関する便利な
ことを教えて下さい。
お前誰よ?
● 名前とか○ 藤原 敬弘○ @tfmagician
● つくばでベンチャーやってます○ FULLER株式会社○ スマートフォン向けの自社サービスの開発○ TechWaveさんの記事をみた人もいるかも
■ あえて地方で戦う、凄腕エンジニア達のスタートアップ
○ 高専率8/9の変な会社
● エキパイ読書会やってます○ Pythonに興味がある人は来てね!○ 次回開催は7月10日(火)
高専の変なエンジニア達
なぜか、CEOがジャージ
公開しているアプリケーション
精力的に、おじさん開発中
弊社の開発フロー①
かんばん
もちろん、かんばんも自作
弊社の開発フロー②
リーンスタートアップ
仮説と検証
弊社の開発フロー③
ここでやっと、GitHub
リポジトリの構成
● カンパニーアカウントのプライベートリポジトリを活用○ 1プロジェクト 2〜3リポジトリ○ [開発名]_[プラットフォーム]のリポジトリ名
■ trimtab_android■ trimtab_ios■ trimtab_web ...etc
○ Wikiしかないプロジェクトも存在する
● 個人アカウントののパブリックリポジトリを活用○ オープンソースをフォーク、修正してパッケージングに使
う場合など○ GitHubのチュートリアル
ブランチ戦略
● A successful Git branching modelをそのまま利用○ master: リリースバージョン○ release/[version]: リリース調整○ hotfix/[hotfix_name]: 緊急修正○ develop: 開発バージョン○ feature/[feature_name]: 機能開発
● 翻訳○ A successful Git branching modelを翻訳しました
GitHubで活用している機能
● Issuesの課題管理● Wikiページ● Networkのブランチ分岐図● Commitページのコード差分● コミットのzipダウンロード
プロジェクト管理ツールとし
て、GitHub活用中
Issuesによる課題管理
● メンバー全員がGitHubアカウントを持っている○ 誰でもissuesに投稿可能○ バグやUI / UXに関する課題を見つけた場合に、issues
投稿する○ プロダクトオーナーが管理し、かんばんへ載せる
● ラベルの活用○ Bug: バグ○ Experience: UXに関する課題○ Kaizen :ソースコードのリファクタリングや、ビルドの自動
化案など
● 1〜2時間で直せるバグはその場で直す
Wikiページ
● 2種類のWikiを活用中○ プロジェクトWiki○ 社内Wiki
● プロジェクトWiki○ プロジェクトに紐付いたWiki○ プロジェクトの準備の仕方や、デバッグ方法などをまとめ
る○ 仕様はまとめてない (ソースコード読んでね!)
● 社内Wiki○ 社内技術情報をまとめるWiki○ Appleへのアプリ申請方法、開発環境のセットアップ方
法など
Networkのブランチ分岐図とCommit
● Networkのブランチ分岐図○ non fast-forwardでマージが適切に行われたか、確認で
きる○ 全てのブランチを横断的に確認できる○ Commitページにダイレクトに飛べる
● Commitページのコード差分○ コードレビューに活用○ Networkでブランチを確認した後、Commitページに飛ん
で、コードレビューする○ コード差分にコメントが書ける!○ 通知は昔、 #reviewth.is 使ってたけど、最近は直接お
願いに (席隣だし、一部屋だしね)
コミットのZipダウンロード
● (あまりないけど) ソースコードを直接渡したいときに
● ダウンロード出来るページ○ BranchページとCommitページ○ つまり、どのコミットもZipダウンロード出来る○ URL形式
■ https://github.com/fuller-inc/trimtab_web/[tarball_or_zipball]/[revision_number]
○ zip以外にもtar.gzでも!
● お試し○ https://github.
com/tfmagician/mongokit/tarball/a626d39ecba828b80d60d6af207b4911f30d4f1e#egg=mongokit-0.7.3a
急ですが、宣言します。
ベンチャーには
お金がありません!
ベンチャーには
人手も足りません!
けど、リポジトリたくさん
欲しいです。
苦肉の策 GitHub + Gitolite
● GitHubのカンパニープラン○ Bronzeの25ドル、10リポジトリで精一杯○ 社内ツールとか、管理したい○ 逆に古いプロジェクトはGitHubになくても良い
● Gitolite導入○ 社内サーバにGitoliteをインストール○ 小さなプロジェクトはそこで管理○ ドロップしたプロジェクトのアーカイヴとしても利用してま
す
GitHubさん、ベンチャー
支援プランをお願いします!
ちょっと待って。
Pythonどこ?
ごめんなさい m(_ _)m
作る時間ありませんでした。
弊社で使ってるPythonツール群
● hyde○ 静的ファイル生成ツール
● legit○ Gitコマンドを簡単にしてくれるツール
● pyramid○ フレームワーク嫌いの人のためのフレームワーク
● cornice○ Restful Web APIフレームワーク
● mongoengine○ MongoDBとPythonのためのODM
● fabric○ Pythonで書かれたデプロイツール
おまけ
● Octcatが大好きな人へ○ GitHub Shop○ GitHub for Mac○ Octcat Wallpapers for All○ The Octdex
● Python + GitHubロゴ○ PyCodeConf wallpaper set
ご清聴
ありがとうございました。
top related