日本語翻訳 How we use Bitbucket to build Bitbucket

734 views

Published on

Original English slides are here:
http://www.slideshare.net/SeanOsawa/how-we-use-bitbucket

Translated by Seiji Morita

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
734
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

日本語翻訳 How we use Bitbucket to build Bitbucket

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

×