Moriya-Taichi / abema-ios-tutorial-public

ABEMA iOS チュートリアルプロジェクト
https://developers.cyberagent.co.jp/blog/archives/25432/
0 stars 0 forks source link

ABEMA iOS Tutorial

概要

このプロジェクトは、ABEMA の iOS アプリ開発で用いられている開発環境やライブラリ、開発フローに慣れるためのサンプルプロジェクトです。

開発環境

ツール

ライブラリ

ツールやライブラリの導入は 開発をはじめる を参考にしてください。

チュートリアル

チュートリアルの進め方 を参考に開発環境を整え、下記のタスクに取り組んでください。

タスク 1.

master ブランチの実装には不具合があり、一部動作しない機能があります。

+Uでテストを実行すると、失敗している箇所があるはずです。

テストが通るように実装を修正してください。

タスク 2.

タスク 3.

APIClientは、時々エラーを返します。

タスク 4.

チュートリアルの進め方

開発をはじめる

プロジェクトのクローン

以下のコマンドで、本リポジトリを Clone できます。

$ git clone https://github.com/abema/abema-ios-tutorial-public.git

ツールのインストール

brew.sh に記載の手順に従って Homebrew をインストールしてください。

また、以下のコマンドで各種ツールをインストールしてください。

$ make brew-install
$ rbenv init # 表示される内容に従う
$ rbenv install

make brew-install によって実行されるコマンドの中身は、Makefile に書かれています。

ライブラリの取得・ビルド

以下のコマンドで、ビルドに必要なライブラリを取得できます。

$ make bootstrap

取得が終わったら、AbemaTutorial.xcworkspaceを開いてプロジェクトを実行できるはずです。

自分用の master ブランチを作成

チュートリアルに取り組む際は、自分用の master ブランチを作成してください。

例:

$ git checkout -b akkyie-master master # <自分の名前>-master で作成してください
$ git push

チュートリアルのタスクを進める

Issue を作成

Issues から、自分が取り組むタスクについての Issue(チケット)を作成してください。 Issue には、以下の項目を記入・設定してください。

Issue

Feature ブランチ を作成

実装は、自分用の master ブランチから切ったブランチ(Feature ブランチ)で行います。

Feature ブランチの名前は、 IOS-<Issueの番号> または IOS-<Issueの番号>-<わかりやすい名前> としてください。

例:

$ git checkout -b IOS-123-fix-layout akkyie-master
$ git push

Pull Request を作成

いくつかコミットを行ったら、作業中でも Pull Request を作成しましょう。

この時、base ブランチが自分用の master ブランチになっていることを確認してください。

PR base branch

Issue と同様に、Pull Request にも AssigneesLabelsMilestone を設定しましょう。また、作業中の Pull Request には必ず WIP (Work in progress) ラベルを付けましょう。

タイトルに [WIP] と入れたり、Draft Pull Requestにしたりするとより分かりやすいですが、これらは任意です。

Bitrise CI (Continuous Integration)

Pull Request を作成すると、自動的にそのブランチが Bitrise.io 上でビルド・テストされます。 もしビルドかテストのどちらかが失敗している場合、"Details" リンクから詳細を確認することができます。

Screen Shot 2020-03-04 at 17 12 24

追加でコミットをプッシュすると自動的に再ビルドされますが、手動で再実行したい場合は右上の "Rebuild" ボタンから行うことができます。

Screen Shot 2020-03-04 at 17 47 04

レビュー

実装が完了し、Bitrise 上でテストも通っていることが確認できたら、 WIP ラベルを外して Reviewers に自分のトレーナー(もしくはトレーナーが指定した誰か)を指定しましょう。 レビューを受けて修正する必要がある場合、もし修正に時間がかかりそうであれば、修正を行う旨をコメントして再度 WIP ラベルを付けた上で作業を行いましょう。

コードに修正を加える際は、なるべく force push を避けましょう。これは再度レビューしてもらうときに差分を分かりやすくするためです。 ただし、実装方法をまるっきり変える場合など、コミットを追加することでむしろ差分が見づらくなる場合は、force push して履歴を見やすくしてもよいです。

レビュー対応が終わって Approve されたら、自分でその PR をマージします。 PR をマージしたら、対応する Issue も合わせてクローズしましょう。