Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Option 1

Option 2

Helt öppet Vi låter våra repositories i GitHub vara helt öppna och publika. Självklart att vi då lägger känsliga uppgifter, i den mån det går, som lösenord etc i separat konfigurationsrepo i GitLab. Och vi låter naturligtvis inte vem som helst att committa in saker till ett publikt repository.

Privat & publikt Vi skiljer på publikt och privat genom att ha separata repositories där kod från det privata på lämpligt sätt kan speglas till det publika. O-öppet alltså. Vi jobbar i privata repositoryn, varifrån vi även bygger och deployar. Det är ett aktivt val att “publicera” kod från ett privat till publikt repository.

Kan merge från main till en branch som heter “public” i det privata repositoryt vara det som något ett jobb i Jenkins ska gå på för att kunna skyffla rätt saker (mha shallow clone etc) till det publika repositoryt?

Gliffy
macroId31f4acd1-f52a-4bf2-a9a3-452aba1af0bc

Pros/cons

(plus) Enkelt. Det vi pushar in till GitHub blir tillgängligt för alla.

(minus) Varje enskild utvecklare behöver vara noggrann och se till att oönskad information inte kommer med då det är begränsat med kontrollfunktioner innan något de facto hamnar i repot. Mänskliga faktorn kan spela in.

(minus) Risk att personuppgifter (framförallt i testdata) slinker med och blir publika.

(minus) Risk att keystores med certifikat slinker med och blir publika.

⚠️ Potentiellt hög säkerhetsrisk om känslig information slinker med.

(plus) Möjlighet att begränsa vilka delar av det privata repositoryt som speglas ut till det publika.

(plus) Möjlighet att förhindra att oönskad historik slipper kommer med med hjälp av “shallow clone” då det enbart är skillnaden mellan respektive “publicering” som är önskvärd i det publika repositoryt. Minskar risk för att “fulkod” kommer med (även om vi naturligtvis aldrig fulkodar något, någonsin…).

(plus) Möjlighet att automatisera (förslagsvis via Jenkins) publicering till publikt repository, även om det bör vara ett aktivt val att faktiskt publicera ut något till ett publikt repositorygöra det. Det här steget möjliggör också att införa kontroller för att förhindra att oönskad information slinker med.

(minus) Mer komplex uppsättning.

(minus) Kräver dubbla repositoryn.

(minus) Oklart hur arbetsflödet bäst sätts upp för att åstadkomma detta.

⚠️ Kräver ändå att det privata repositoryt sätts upp på rätt sätt så att känslig information ska kunna filtreras bort på ett vettigt sätt.

...