myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns
» Datenschutzerklärung
» Impressum

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Rund um die Programmierung » VS Solution-Verwaltung: CI / CD best practices für GIT
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

VS Solution-Verwaltung: CI / CD best practices für GIT

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
t2t t2t ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.10.2007
Beiträge: 412
Entwicklungsumgebung: VS2017
Herkunft: Hamburg


t2t ist offline

VS Solution-Verwaltung: CI / CD best practices für GIT

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Folgendes vereinfachtes Szenario: Ich habe mehrere Services in meiner Visual Solution. Dies gibt mir den großen Vorteil mehrere oder alle Services gleichzeitig zu starten und auch zu debuggen.

Nun möchte ich gerne eine CI / CD Pipeline basierend auf GitLab aufbauen, die bei jedem Checkin neue Docker-Images meiner Services baut. Nachteil hier ist, dass mir nun alle Services neu erstellt werden, wobei ich vielleicht nur einen von zehn verändert habe, da sie alle in einer Solution liegen.

Daher meine Frage: Gibt es Ansätze beide Vorteile zu verbinden? Alle Services in einer Solution fürs debugging und gleichzeitig eine CI / CD Pipeline, die nur die geänderten Services erstellt?
26.02.2019 09:23 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
WarLorD_XaN WarLorD_XaN ist männlich
myCSharp.de-Mitglied

Dabei seit: 25.10.2006
Beiträge: 90
Entwicklungsumgebung: Visual Studio
Herkunft: Austria


WarLorD_XaN ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo t2t,

du könntest jeden Service in ein eigenes Repository legen.

Und zusätzlich ein Repository dass alle anderen als submodule enthält und deine Solution zum Debuggen.

sg
26.02.2019 10:13 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
t2t t2t ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.10.2007
Beiträge: 412
Entwicklungsumgebung: VS2017
Herkunft: Hamburg

Themenstarter Thema begonnen von t2t

t2t ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke für den Hinweis. Kann Visual Studio damit denn umgehen und funktioniert die Git Integration dann noch wie gewohnt? Also, dass Visual Studio die commits in die entsprechenden submodule absetzt, wenn ich die Haupt-Solution auf habe?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von t2t am 26.02.2019 11:03.

26.02.2019 11:02 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.639
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wenn die Services den Micro Service Gedanken verfolgen, dann müssen sie in 99% der Fälle in einem eigenen Repository liegen.
Alle Services in visual studio direkt zu starten bis du evt. noch von einer "alten Gewohnheit" gewohnt; aber produktiv im Sinne von Microservices und Independence ist das halt nicht.
Services sollten sich nicht direkt kennen, wenn möglich.
Wenn sich alle Services kennen, dann baust du ein Monolith, der halt auf Prozesse verteilt ist - nicht ganz Sinn der Sache :-)
26.02.2019 11:29 Beiträge des Benutzers | zu Buddylist hinzufügen
t2t t2t ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.10.2007
Beiträge: 412
Entwicklungsumgebung: VS2017
Herkunft: Hamburg

Themenstarter Thema begonnen von t2t

t2t ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Kennen tun sich die Services nicht. Aber für den Entwicklungs-Workflow finde ich es super smart, wenn ich beispielsweise das Frontend, die API und nen Worker-Service zusammen starten kann. Dann lade ich im Frontend eine Datei hoch, die API verarbeitet diese und legt eine Nachricht auf den Service Bus, worauf hin sich der Worker Service die Nachricht greift und ich bin überall in der Lage in diesen Workflow zu debuggen.

Daher stimme ich dir zu, ich will dahin jeden Servcie separat in einem eigenen Repo abzulegen, aber gleichzeitig diesen Entwicklungs-Workflow beibehalten. Wie würdest du sowas konkret lösen?
26.02.2019 11:50 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.639
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Geht in der Form nicht 100%, weil es widersprüchlich ist.
26.02.2019 16:10 Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 2 Monate.
t2t t2t ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.10.2007
Beiträge: 412
Entwicklungsumgebung: VS2017
Herkunft: Hamburg

Themenstarter Thema begonnen von t2t

t2t ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

For the record: Ich hab diesen Anwendungsfall tatsächlich recht gut mittels Git Submodules lösen können. Ein push vom Submodule landet dann im jeweiligen Repo des Services und wird dann nach dem Merge auf den Master automatisch von der GitLab CI Pipeline verarbeitet.
Ich hab eine Haupt-Solution, welche die unterschiedlichen Services zusammenfasst, die per Submodule referenziert sind. Dadurch bin ich in der Lage alle benötigten Services in der Entwicklung gleichzeitig zu starten und zu debuggen. Ziemlich komfortabel.
Einzige Wermutstropfen ist, dass Visual Studios Git Integration damit nicht mehr umgehen kann. Das löse ich über die CommandLine oder GitKraken.

Daher noch mal ein spezieller Dank an WarLorD_XaN

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von t2t am 07.05.2019 16:22.

07.05.2019 16:20 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 2 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 21.05.2019 21:12