0

Googleでは、RESTful APIとそのAPIを使用するモバイルアプリ「 」を公開するウェブアプリを構築しています。ウェブアプリケーションとモバイルアプリのソースコードレポジトリ共有

これらは両方とも製品の一部を形成します(ビジネス/マーケティングの意味で)。

ウェブアプリケーションはクラウドにデプロイされ、モバイルアプリはモバイルデバイスで使用するためにアプリストアにデプロイされます。

APIの第三者コンシューマが存在する可能性は低いです。

ウェブアプリケーションとモバイルアプリケーションの両方が同じ言語(C# - ASP.NET CoreとXamarin)で開発され、コードの再利用/共有が可能です。モデル。

私たちはGitを使用しています。

ウェブアプリとモバイルアプリの両方に継続的な配信パイプラインを導入します。

ウェブアプリケーションとモバイルアプリのコードベースは同じソースコードリポジトリを共有する必要がありますか、それぞれに別々のリポジトリが必要ですか?このシナリオでベストプラクティスとは何でしょうか?

+0

コードを共有している場合、同じリポジトリ内にあることが理にかなっています。しかし、この決定を促す要素がたくさんあるので、「正しい」答えはありません。 – Jason

答えて

0

「ベストプラクティス」は少し主観的です。

一般に、私は主要なサブシステムを別々のリポジトリに保つことを好みます。つまり、独自のバージョニング戦略と、必要に応じて異なる開発チームを持つことができます。

通常、RESTサーバーには既知のバージョン管理方法が必要です。これは、独自のリリースパイプラインとバージョン番号を持つ単一のリポジトリを持つ場合には最も簡単です。プロジェクトによっては、アプリ開発者が既知の「安定版」のサービスに対抗することができますが、サービスチームがアプリケーションチームに影響を与えずにテストバージョンを導入できるようにしたい場合があります。

これは単一リポジトリで実現できますが、サービスの専用リポジトリで構築する方がはるかに簡単です。

+0

あなたのご意見ありがとうございます。それについてもっと考えると、オートメーションをリリースする自動コミットの目標があるほど、パッケージ管理(つまりNuGet)を使用して依存関係や共有モデルを制御することで、リポジトリを別に保つことを好むほどです。 – Steve

関連する問題