3

Currently I use SVN for my project and the structure looks like this:

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

So I would like to transition the project to Git, plan to use one of the following providers: Github, Gitlab or Bitbucket.

The main goal is to use automated CI/CD, so if I change something in SharedLibrary, both project should build automatically without hassle.

Here is what I can think of, but I'm not sure about the drawbacks: - 1 repo for the SharedLibrary and 1-1 for each platform and then use SharedLibrary as submodule, but I'm not sure if it would trigger the CI of the platforms.

What would be the right repo structure for this?

Roland Soós
  • 131
  • 1

1 Answers1

2

Depending on the exact circumstances, one repo might be all you need.

If you really want separate repos, I suggest you add SharedLibrary as a submodule to the repos that need it. It is a bit of a hassle to setup the ci for this configuration, but possible (also depends on what ci you plan to use). See this question for an example setup for Travis and GitHub.

Paul92
  • 2,571
  • 15
  • 17