View
421
Download
4
Category
Preview:
DESCRIPTION
Original English slides are here: http://www.slideshare.net/SeanOsawa/how-we-use-bitbucket Translated by Seiji Morita
Citation preview
●アトラシアンがBitbucket.orgを使ってどのようにBitbucket開発を行っているか。
●アトラシアンのワークフローショーケース、開発方法論、開発プロセスについて発表致します。
Slide 1
Bitbucketチームについて●Bitbucketは17名のメンバーで開発を行っております、全てのメンバーはフルタイム開発者です。
●サイトは全てPythonで書いています。
●通常四つの大きな機能が存在してその他数千の小さな機能を開発し、ad-hocやバグ修正は15個の平行ストリームで開発を行っています。●DVCS(Git)はこのレベルで同時作業化のため必要不可欠です。
●ここで重要なのは安定した製品から未完成の作業を分離する事です。
Slide 2
ブランチング
● 孤立保つ作業はブランチを使います、DVCSシステムのバックボーンからGitリポジトリとMercurialのような使用して行われています。
● メインブランチは現在のプロジェクトの安定した箇所を示します。
● メインブランチは最新及び安定したバージョンなので、基本的に直接編集をおすすめしない。
Slide 3
ブランチング
● 新たな機能のアクティブ開発は別当個別なブランチで実行されます。
● 新しい機能開発がスタートしたら安定しているプロダクトのメインブランチを壊す事を防止するために新しいブランチを作成します。
● これで各開発者がお互いに影響する事無く作業がすすめられます。
Slide 3
ブランチング● 平行して実行されているブランチはブランチのページで確認することができます、各ブランチは新しい機能か作業中のバグを表しています。● ブランチによって期間が短いものもあれば数ヶ月かかるものもあります。● コミットごとにブランチがメインブランチから先へ進まれます、”先に”とも表現されます。メインブランチでもコミットが行われると我々のブランチを後ろに移動されます。● ブランチが完了したあとメインブランチにマージされます、レビューを先に必要です。● Bitbucketでコードのレビューはプルリクエストで行われています。
Slide 4
ブランチング
● プルリクエストは全ての作業を一つのブランチに集結しレポジトリメンテナンス責任者にレビュー及びメインブランチにマージを依頼します。
● GitやMercurialのようなDVCSはこのようなワークフローこのおかげで素早くブランチと宛先ブランチの更新が確認できます。
● Bitbucketへのプルリクエストはコードに対して多くのディスカッションも追加可能です、そのれによって更新を承認するか却下するか承認できます。
Slide 5
プルリクエスト作成
● プルリクエストを作成するにはレポジトリーページにあるプルリクエストボタンをクリックします。
● あなたの更新のあるブランチを選択しマージが必要なブランチを選択します。
● コメントを追加しレビューをして欲しいメンバーを選択します。アトラシアンでは各プルリクエストのレビューは少なくても二名で行われています。
● 新しいプルリクエストやレビューはメールで通知されます。
Slide 6
プルリクエストプルリクエスト● プルリクエストが作成されると、フィーチャーのレイアウトがクリアになります。● 全てのデスクリプションはリッチマークアップです。● 全ての参加者をリストアップします、承認者でなくても表示されます。● プールリクエスト、ソースコード又は宛先ブランチが表示されます。● ソースブランチの全てのコミットのリスト。(ポップイン)● フルマージのDiff又はコードのパッチスタンダードは同じフォーマット。(ポップイン)● 各ファイルのdiffはIDE-style平行フォーマットに表示される。(ポップイン)● 全てのコメントとディスカッションが表示されます。(ポップイン)
Slide 7
プルリクエスト更新● こちらでは特定のコース行のディスカッションでJesperを改善を提案している事例があります。● ディスカッションは結果的に更新及びコミットのサイクル改善につながります。● 新しいコミットがソースブランチにプッシュされると、プルリクエストが更新されて表示されます。●プルリクエストに対して全てのコメントや更新履歴はタイムライン形式でアクティブタブで表示されます。● プルリクエストのマージはこれらのプロセスは全ての承認者が承認するまで繰り返されます。● 更新又はコメントが追加されると全ての参加者はemail通知されます。
Slide 7
マージ&却下● こでれプルリクエストは宛先のブランチにマージされる準備ができました。● マージはマージボタンをワンクリックして実行できます。● ローカルでGitコマンド、プッシュ、プルは必要ありません、Bitbucketはサイト内でマージ可能です。● しかし必要であればローカルに手動でプッシュできます、Bitbucketはマージを自動的に認識しプルリクエストをクローズできます。● 代わりに、プルリクエストは宛先のブランチにマージする前に却下できます。● 全ての参加者にメール通知されます
Slide 8
Mentions
● 他のメンバーをプルリクエストに招待したい場合はその方の名前をMentionでコメントをするだけで招待できます、Twitter形式の同じです。
● 各ユーザーにはプルリクエストでMentionされたことのメール通知が届きます。
● 他の参加者が他のメンバーにプルし各コードに対する考えや提案をします。
● アトラシアンでは各メンバーのスキルが異なるためこの機能を良く使います。
Slide 9
オンラインエディター
● ブランチングでは、プルリクエスト、インラインコードのコメントとmentions,Bitbucketはソフト開発のコラボレーションのためのパワフルなプラットフォームを提供します。
● プルリクエストは改善を反復につながるためマージ前に追加のコミットを行います。
● これらの更新はローカルで自分好みのエディターを使って実行かのうです、しかしオンラインで直接編集も可能です、小さい更新におすすめです。
Slide 10
オンラインエディター● プルリクエスト又はファイルの更新を行う場合は編集ボタンをクリックするだけです。● ファイルは編オンラインで編集できるようになります、エディターはプログラミング言語インデント及び構文をハイライトします。● ファイルを保存すると自動的にソースブランチに新しいコミットが作成し、プルリクエストに新しいコミットが直ちに表示されます;全ての参加者にもメールで通知されます。● オンライン編集でプルリクエストの更新が簡単になります、しかし外部からの編集かのうです。全てのファイル又はブランチは直接編集可能です。● 直接トップブランチでコミットを行うより、Bitbucketで編集に対してプルリクエストを作成して実行前にレビューを行います。
Slide 10
ブランチ制限
● アトラシアンでは全てのメンバーは全てのブランチに対してフル権限を与えています、それによって全てのメンバーは同じレポジトリーで作業可能です。
● 全てのメンバーにどのプルリクエストに対してマージ、却下、削除又は新しいブランチを作成可能です。
● しかしチームによってブランチ毎にプルリクエスト及びプッシュを制限をしたいチームもあります。
● ブランチ制限ではブランチ毎の制限設定をユーザー又はグループ単位で設定可能です。
Slide 10
ブランチ制限
● アトラシアンのBitbucketレポジトリーでは、チームによってある特定のブランチに対して制限をかけているメンバーもいます。
● ブランチは基本パターンマッチングを使用して設定することができます。
● また、ブランチを削除または再配置することができるかを制御することができます。弊社ではメインブランチに対して削除ができないように設定を行っています。
● 再配置(履歴再構築)は削除とは個別に設定可能です。
Slide 11
ブランチ制限● ブランチング及びプルリクエストでブランチ制限を使うことによってメインブランチの安定を守ることができます。● ブランチは作業を継続しつつプロダクトの事故を防ぐ事ができます、開発が長くても。● プルリクエストではフィーチャーが本当に納品状態になっているか保証します。● ブランチ制限では特定のユーザーを特定のブランチに制限をするとによって削除及び再編成の事故を防ぎます。
● しかし他のチームと同じくワンステック先をいきます。
Slide 11
ステージング vs 本番環境● Bitbucketの全ての機能があっても事故はおこります。● そのリスクを軽減するために、個別なBitbucketのインスタンスを作成しています、それをステージングと呼びます、そして基本的に編集などは最初こちらで行います。● こちらでコードを壊してもBitbucket.orgは影響されません。● 全てのプルリクエストは自動的にマージされステージングサーバーにデプロイされます。● 平行ブランチが多すぎるため、多くのプルリクエストやマージが日々デプロイされます。● 週に一度ステージングより本番へデプロイを実行しています。
Slide 12
ソースツリー● アトラシアンでは主にGitコマンドラインで実行していますが、ユーザーによってはブランチ及びdiffsをGUIで表示が好まれます。● また、一部の操作にはGitと知識が必要無いため誰でも実行可能です。● そのためチームの一部はソースツリーを開発に使っています、ソースツリーはGit及びMercurialのためのGUIです。● ソースツリーでは全てのコマンドラインで実行している作業をユーザーフレンドリーなインターフェイスで実行可能です。● ソースツリーはプル、プッシュ、マージ、管理、ブランチ、Cherry-picking,stashingをフルサポートします。● Bitbucketとインテグレーションします、他のホスティングサイトにも対応します、又ローカルのみ利用可能です。
Slide 13
ソースツリー
● 近年ではDVCSの利用が多くなってきている中で弊社はBitbucketをソースツリーを提供して誰でもソフトウェア開発を効率的に開発することを支援致します。
● またご利用になっていない方いましたら5ユーザーまで無料で利用かのうで無制限のレポジトリーを利用かのうです、是非お試しを。
● ソースツリーはMac及びWindowsで無料でご利用可能です。
Slide 14
“bitbucket.orgはクリーンで効率よく利用できるプライベートかつ無料なレポジトリーです”
“SourceTree - は使いやすいGitとhgのためのGUIのです、自分みたいなコマンドファンでなければ是非ご利用ください sourcetreeapp.com”
Slide 14
Recommended