Meerdere verschillende sites, versiebeheer op server?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
We onderhouden meerdere (Drupal-)sites, waarop we een stuk zelfgeschreven programmatuur aanbieden (=de module).

De meeste van deze sites hebben dezelfde codebase voor de module. Echter, sommige klanten willen aanpassingen in de module. In Git zijn dit verschillende branches, de we parallel met de master branch mee laten lopen.

Nu worstelen we met het versiebeheer op de server. Hoe gaan we waarborgen dat er bijv. niet files van branch X per ongeluk op de website met branch Y komen? Hoe gaan we gemakkelijk zien welke branch ook alweer op site A draait, en welke branch op site B.

Nu kwam mijn collega met een lumineus idee: we zetten gewoon de gehele git-repository op de server. Git is hier namelijk juist heel goed in. We kunnen gemakkelijk zien wie welke branch draait, gemakkelijk switchen, etc. Bovendien heeft iedere repo een verbinding met onze centrale repository op Bitbucket.

Mijn vraag: is dit een goed idee, of gaan we hier spijt van krijgen?

Beste antwoord (via Rekcor op 10-03-2017 14:16)


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Rekcor schreef op woensdag 27 januari 2016 @ 12:03:
Mijn vraag: is dit een goed idee, of gaan we hier spijt van krijgen?
Dit lijkt me een goed idee en heb ik in de praktijk gezien. Enkel moet je er wel voor zorgen dat in die git repository geen private data zit die per ongeluk toegankelijk is op de server, zoals (klant)gevoelige info zoals wachtwoorden, keys, welke klanten er zijn, andere branches, etc.. Ook is het niet handig als er veel klant-specifieke code is, zo ja dan kun je meerdere repositories aanmaken zoals r.schot zegt, of wellicht een echte deployment-tool gebruiken. Voor php weet ik enkel niet wat dan handig zou zijn.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten

Alle reacties


Acties:
  • 0 Henk 'm!

  • r.schot
  • Registratie: Juli 2015
  • Laatst online: 14-10-2021
Ha Rekcor,

Ik zou voor de codebase een repository aanmaken en voor elke klant die afwijkt van de codebase ook één. Dan voeg je in de repos van de afwijkingen de repo van de codebase als upstream toe.

Als je wijzigingen aanbrengt op de codebase dan pull je de upstream wijzigingen in de andere repos.

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
Dank!
Dan voeg je in de repos van de afwijkingen de repo van de codebase als upstream toe.
Dit begrijp ik niet goed (ben ook geen Git-goeroe). Zou je het nog een keer uit willen leggen?

Acties:
  • 0 Henk 'm!

  • Antrax
  • Registratie: April 2012
  • Laatst online: 11-10 21:52
Je kunt het beste gewoon een repository aanmaken waar je module in leeft.
Per klant in zijn of haar omgeving kun je dan het beste de volgende commando's uitvoeren:


Bash:
1
git checkout -b test remote-name/name


Natuurlijk moet je de remote en name aanpassen. Als je dit niet veilig vindt omdat je hierdoor simpelweg naar een andere remote kunt gaan kun je inderdaad het beste de suggestie van r.schot gebruiken.

.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
Hoi!

Ik weet even niet zeker of we elkaar goed begrijpen in dit topic :). We hebben al een git repo, met verschillende (features, dev, etc) branches. Mijn vraag gaat vooral over hoe we zorgen dat het op de server geen soepzootje wordt.
Hoe gaan we waarborgen dat er bijv. niet files van branch X per ongeluk op de website met branch Y komen? Hoe gaan we gemakkelijk zien welke branch ook alweer op site A draait, en welke branch op site B.
Ons idee nu is: gewoon alle git-bestanden (in de .git) map ook op de productieserver zetten.

Acties:
  • 0 Henk 'm!

  • r.schot
  • Registratie: Juli 2015
  • Laatst online: 14-10-2021
Laten we eerst is de huidige situatie wat helderder krijgen. Is het juist dat ik aanneem dat jullie nu ergens een working directory hebben die onder git beheer staat en dus geen remote repositories gebruiken?

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
We hebben de code in de git van respectievelijk Bitbucket en Drupal.org staan (verschilt per module). Dit zijn de remotes. Onze lokale repo's tracken deze.

In ons idee staan op onze productieserver ook repo's die de repo's op Bitbucket/Drupal tracken, net als nu bij ons lokaal.

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Rekcor schreef op woensdag 27 januari 2016 @ 12:03:
Mijn vraag: is dit een goed idee, of gaan we hier spijt van krijgen?
Dit lijkt me een goed idee en heb ik in de praktijk gezien. Enkel moet je er wel voor zorgen dat in die git repository geen private data zit die per ongeluk toegankelijk is op de server, zoals (klant)gevoelige info zoals wachtwoorden, keys, welke klanten er zijn, andere branches, etc.. Ook is het niet handig als er veel klant-specifieke code is, zo ja dan kun je meerdere repositories aanmaken zoals r.schot zegt, of wellicht een echte deployment-tool gebruiken. Voor php weet ik enkel niet wat dan handig zou zijn.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 08-10 13:03
Dank!
Pagina: 1