を考えてみる。
今の僕の開発にとって、ちょうどいいくらいのを考えてみたいなーって。じゃあ、今の僕のやってる開発ってどんなん?ってところから。
エンジニア5,6人くらい。
Featureと呼ばれるものがあって、これは2,3ヶ月分の規模で。この単位でリリースする。
Featureは複数のStoryで構成されていて、Storyは4,5日くらいで完了する。から、1 Featureは10から15Storyくらいってことか。
Storyは複数のTaskを持っていて、それぞれのTaskは1,2日で完了する。
たまに1週間くらいのFeatureを割り込みでさくっとリリースすることもあったりする。
ここで言いたかったのは、Featureというものの感じがgit-flowとかとは違いそうダナーって感じてるってところ。
他部署とのやりとりにはJIRAを使ったりもするけど、チームのタスク管理は付箋でやってる。Featureの内容とか、残しておきたい情報とかはConfluenceで残してる。Feature Pageと呼ばれるページにそのフィーチャーの仕様が書かれている。
ペア開発してる。ペアプロするときもあれば、別々に作業をすることもあるけど、プルリクエストを出すときは、ペアレビュー済みのものが出される。
AtlassianのStashを使ってる。全ての修正はプルリクエストで別のペアからレビューされる必要がある。
リリース前にはステージング環境でQAを実施する。
こんなところかな。
という開発状況を踏まえて、フローを考えるとこんな感じになった。
git fetch --prunegit checkout -b feature/weather-news origin/mastergit push origin feature/weather-news
Stashのブランチパーミッションを使いたいので、featureブランチ名には"feature/"プレフィックスを付ける。以下のブランチにはpushによる更新ができないように設定する。プルリクエストによる更新のみを受け付ける。
git fetch --prunegit checkout -b story/weather-news/show-area origin/feature/weather-newsgit push origin story/weather-news/show-area
git commit --allow-empty -m "Start story"git push origin story/weather-news/show-area
事前に以下の内容を考えて書いておく。
この数年間、何かを調べるときにはコミットログを見ることはあんまりなかった。プルリクエストの方を見る。ので。もう、コミットログは気にしない。自分用メモ的な立ち位置。
次の日体調悪くなっても大丈夫なようにね。ペアの人がやってくれるから。
別のペアにお願いする。
マージされたらstoryブランチは削除
そうするとこんな感じでfeatureブランチが進んでいく
このブランチ名を指定してステージング環境にデプロイ。QA実施。
レビューOKだったらマージ。そしてデプロイする。デプロイするときに自動でタグづけする。featureブランチは役目を終えて削除される。
こんな感じが良さそうかなーって思った。チームに聞いてみよっと。
HotFixもBugFixもFeatureと同じ流れでやればいいかなーって。あと、全部のブランチを自動でテスト流したいし、テストがOKだったら、そのブランチ用の環境を自動で作ってデプロイしたいなぁ。
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。