web-dev-qa-db-ja.com

マルチプラットフォームプロジェクトのGit構造

現在、私のプロジェクトにはSVNを使用しており、構造は次のようになります。

trunk/SharedLibrary/

trunk/platform/wordpress/ <- platform base directory
trunk/platform/wordpress/SharedLibrary <- external with relative path ../../SharedLibrary

trunk/platform/joomla/ <- platform base directory
trunk/platform/joomla/libraries/SharedLibrary <- external with relative path ../../../SharedLibrary

そこで、プロジェクトをGitに移行し、Github、Gitlab、またはBitbucketのいずれかを使用することを計画しています。

主な目標は自動化されたCI/CDを使用することなので、SharedLibraryで何かを変更すると、どちらのプロジェクトも手間をかけずに自動的にビルドされます。

ここに私が考えることができますが、欠点についてはわかりません:-SharedLibraryに対して1つのリポジトリと各プラットフォームに対して1-1を作成し、SharedLibraryをサブモジュールとして使用しますが、CIをトリガーするかどうかはわかりませんプラットフォームの。

これに適したレポ構造は何でしょうか?

3
Roland Soós

正確な状況によっては、1つのリポジトリで十分な場合があります。

本当に個別のリポジトリが必要な場合は、SharedLibraryをサブモジュールとして、それを必要とするリポジトリに追加することをお勧めします。この構成でCIを設定するのは少し面倒ですが、可能です(使用するCiによっても異なります)。 TravisとGitHubの設定例については、 this の質問を参照してください。

2
Paul92