こんにちは!!、こんにちは!!
komatsu です。
採用面接に出ることがあるのですが、そこでよく質問いただくことを書いていきたいと思います。 (そのうちohataがいい感じにまとめてくれるはずです)
今回は「普段どんな感じで仕事してるんですか?」に対する答えの第一弾として、「チケットに着手してから終了するまで」の流れを書いていきます。
(画像はohata作成)
1. チケットの内容確認
まずはチケットの内容を確認します。 不明点や改善点があれば、起票者や担当のディレクタさんに確認、提案を随時行います。
2. 実装
ブランチを切って実装します。 このとき、後述するステージング自動作成のため、ブランチ名にチケットidを含むようにします。
デザイナさんとの協業
弊社ではマークアップとスタイルはデザイナさんが担当しています。 主な担当箇所が違うだけで、開発フローは全く同じ(RailsアプリのSlim, Sassを書き、GitHubでプルリクエスト+コードレビュー)ため、ブランチ名を伝えればそのまま開発してくれます。 zip納品や画像の切り出しといった言葉とは無縁です。
3. ステージングでの確認
必要に応じて、ステージングで起票者や担当のディレクタさんに確認してもらいます。 ブランチ名の規約に沿って、個別のステージングが自動的に作成されるので、他のエンジニアやデザイナさんとタイミングを調整する必要はありません。 そういえばこの仕組みは4年前からあったんですね…本当に便利です。
4. コードレビュー
ステージングで仕様が満たせていることの確認がとれたら、プルリクエストを作成します。 「レビュー待ち」ラベルを付けておけば、他の人が適宜コードレビューをしてくれます。 なお急ぎの場合はSlackで依頼します。
特に担当や時間が決まっているわけではないのですが、大抵は2,3時間でレビューがついている気がします。 (今後問題が出ればルールを作るかもしれませんが、現状はこれでそれなりにうまく回っていると思います)
また、特定の機能以外は1人からLGTMをもらえばリリースokとしています。
5. リリース
- Slackのリリース関連専用チャンネルでリリースを宣言して
- プルリクエストのmergeボタンを押せば
あとはJenkinsがよしなにやってくれます。(再実行やrollbackもJenkinsのWeb UIからポチっとするだけです)
リリースが完了するとSlackに通知が来るので、本番環境に反映されているかを確認し、関係者にリリースしたよーとお知らせして終了です。
おつかれさまでした。
…と、こんな感じです。
続きは面接で!ご応募お待ちしております!!🙏