pythonとgit hubとベンチャー企業の上手な付き合い方

Post on 04-Jun-2015

14.938 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

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で書かれたデプロイツール

ご清聴

ありがとうございました。

top related