Configure Local Server Synced with Cloud (gitlab.com) Server

Hi,

I’m having trouble setting up gitlab for my studio and I thought maybe someone could help me.

I have the following scenario:

  • A local server;
  • A team of local developers pushing and pulling from the local server;
  • A couple of remote developers w/o access to our local repository;
  • Very limited bandwidth on the studio (10 MBps downstream / 1MBps upstream);
  • ISP only offers dynamic IP’s for our region;
  • Large repositories (a couple GB of textures on git lfs).

I want to create a git environment that allows our local and remote developers to work together on this scenario. Since I cannot have a Static IP for my studio due to ISP restrictions, I believe I will need a copy of our repositories residing on a remote server (ideally on gitlab.com).

My thoughts were to follow the standard git flow branch structure (master, develop and feature branches only). Then setup an one-way link from our local server to the remote server for the master and develop branches. To integrate the work from our remote developers, I would have a designated developer manually pulling and merging from the remote repository into our local develop branch.

Would it be appropriate to setup a mirror from our local server to the remote server that only pushes the master and develop branches?

Can I somehow use gitlab’s pipelines system to somehow synchronize both servers?

I am aware that this structure is overly complicated but I’m not managing to come up with a simpler solution for my current scenario. Can someone suggest some other arrangement?

Thank you!!