Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Arbeiten im Team (https://www.delphipraxis.net/184176-arbeiten-im-team.html)

Captnemo 5. Mär 2015 07:50

Arbeiten im Team
 
Hi,

dieses Thema ist für mich absolutes Neuland, da ich bisher entweder immer nur allein an einem Projekt gearbeitet habe, oder es so war, dass ein Projekt in unterschiedliche Teilprojekt zerlegt wurde.

Jetzt ergibt sich aber das Problem, dass verschiedene Programmierer, an verschiedenen Standorten zu verschiedenen Zeiten am gleichen Projekt arbeiten müssen. Daraus ergeben sich folgende Notwendigkeiten:

- Der Quellcode muss irgendwo gehostet werden (hier würde sich ein eigener FTP-Server anbieten)
- Wenn ein Programmiere arbeitet, oder mit der Arbeit beginnt, sollte er einen Hinweis erhalten, wenn andere bereits am Projekt arbeiten, oder mit der Arbeit beginnen
- Änderungen im Quellcode sollte zusammenfließen. Heißt, wenn 2 Leute in der gleichen Datei Veränderungen vorgenommen haben, sollten beide Änderungen erhalten bleiben. (Sicherlich gibt es auch Konflikte, die dann gelöst werden müssen)
- Man sollte eine Datei "sperren" können, so dass andere sehen können, dass an dieser Datei gerade umfangreiche Änderungen vorgenommen werden.
- Und das wichtigste, das ganze sollte sich in Delphi (am besten XE7) integrieren lassen

Möglicherweise würden wir uns dafür auch was eigenes Programmieren, aber ich denke es müsste dafür doch schon gute, intelligente Lösungen geben (die auch bedienbar sind). Wäre auch schön wenn's dann nicht soviel kostet.

Bitte nicht gleich steinigen, wie gesagt, das ist für mich Neuland (So wie das Internet für unsere Bundeskanzlerin) und ich habe noch keine genauen Vorstellungen, wie ich das am Besten löse und welche Problem ich damit noch bekomme.

Union 5. Mär 2015 07:53

AW: Arbeiten im Team
 
Da würde sich die Einrichtung eines zentralen SVN Servers anbieten.

Captnemo 5. Mär 2015 08:03

AW: Arbeiten im Team
 
Ja, aber welchen sollte man sich genauer anschauen?
Gibt es irgendwo deutschsprachige Anleitungen, wie man das in Delphi integrieren kann (oder läuft sowas immer außerhalb der IDE ab), und welche Möglichkeiten man alles hat (bezogen auf meine Punkte im ersten post)?

Klaus01 5. Mär 2015 08:20

AW: Arbeiten im Team
 
Hallo Dieter,

einige Deiner Punkte werden in dem SVN-Buch behandelt.

Grüße
Klaus

Captnemo 5. Mär 2015 09:24

AW: Arbeiten im Team
 
Kennt jemand VisualSVN? Taugt das was? Kann ich dass direkt mit Delphi-Versionskontrollsystem verwenden, oder benötigt man dazu noch einen SVN-Client oder irgendwas für die IDE?

Lemmy 5. Mär 2015 09:36

AW: Arbeiten im Team
 
Hast Du noch nie mit Versionskontrollsystemen (SVN, Git,...) gearbeitet? Wie schaut das in deinem Team aus? Gibt es da welche die schon mit einem System gearbeitet haben?

VisualSVN habe ich noch nie benutzt, die SVN-Integration in Delphi bisher nur sehr wenig, bisher habe ich http://tortoisesvn.net/ verwendet, bin inzwishen aber auf git umgestiegen.

zu den restlichen Punkten: Vergiss deinen ftp-Server wieder ganz schnell.

Zitat:

Wenn ein Programmiere arbeitet, oder mit der Arbeit beginnt, sollte er einen Hinweis erhalten, wenn andere bereits am Projekt arbeiten, oder mit der Arbeit beginnen
Dazu gibt es eine Projektplanung und Absprachen an die man sich halten könnte - kleine gemeinsame Änderungen an Dateien kann das Versionskontrollsystem matchen bzw. einen KOnflikt aufzeigen. Für die sonstige Zusammenarbeit sind direkte KOmmunikation (z.B. Jabber-Messanger) und wie schon angesprochen eine Projektplanung sinnvoll... Ich nutze inzwischen für mich Redmine und das aus der Box (http://www.turnkeylinux.org/redmine) d.h. wenn Du einen ESXi-Server irgend wo laufen hast, dann kannst Du das Teil ohne großen Aufwand nutzen. Projekt anlegen, Repository anlegen und los gehts. Im enthaltenen Wiki lässt sich alles dokumentieren und dient als Dokumentationsablage für die gemeinsame Entwicklung, im Ticketsystem das ganze sauber in Arbeitspakete zerlegen und umsetzen. Und per Tags in den Beschreibungen zu den commits kannst Du auf Tickets verweisen oder diese schließen, so dass man später auch darüber Änderungen gut verfolgen kann.

Grüße

mkinzler 5. Mär 2015 09:36

AW: Arbeiten im Team
 
VisualSVN ist eine SVN Server und sollte daher direkt aus der IDE ansprechbar sein.

Sherlock 5. Mär 2015 10:35

AW: Arbeiten im Team
 
Bevor das hier ausartet: SVN würde ich eben nicht empfehlen. Versuch es mit einem der modernen verteilten VCS, also sowas wie mercurial oder git. Gerade in Teams, wo eventuell gleichzeitig an den gleichen Units gearbeitet wird spielen die DVCS ihre Stärken locker flockig aus. Zur Vertiefung kannst Du hier im Forum schon nach entsprechenden Threads bezüglich Einführung in mercurial oder git suchen.

Sherlock

jobo 5. Mär 2015 11:55

AW: Arbeiten im Team
 
Hab auch keine guten Erfahrungen mit SVN, besonders wenn ein Teilnehmer nicht richtig breitbandmäßig unterwegs ist bzw. das Repo sehr groß wird. (Ergibt korrupte Repo DB, blöd)
("sehr groß" bedeutet leider auch, dass SVN (oder andere) gern mal für nicht-source-code genutzt wird, dafür sind die Tools nicht gemacht)
Lieber git. Geht notfalls nackig per Command line oder auch mit Oberfläche (die können dann kosten). Für Tickets >Trac, das kann >git integrieren mit Commit Historie, Diff usw. Für Chat >openfire und >Pidgin oder so.
Ein Chat ist praktisch, wenn man aus der Ferne ein Push/Pull, branch, .. abstimmen will. Bei kleinen Arbeitspaketen aber glaub ich gar nicht so dramatisch. (oder auch mal ein Stück Source Code, XML oder einen Bilderwitz rumschickt..)
Eine AllinOne Lösung ist sicher praktisch, hab vor 2 Jahren noch etwas gebastelt, bis es wie gewünscht zusammen lief.

TheMiller 5. Mär 2015 12:09

AW: Arbeiten im Team
 
Moin!

War für mich auch Neuland. Ich mache es jetzt seit einiger Zeit so:

Ich habe mir einen virtuellen Server gemietet (bei 1und1). Dort habe ich alle Zugänge gesperrt (ssh, ftp, web etc.pp.) und nur noch für das VPN-Netz freigegeben. D.h., wenn ich mit VPN mit dem Server verbunden bin, kann ich per ssh, web, etc. auf ihn zugreifen.

Dort habe ich virtuelle Hosts angelegt, einen für GitLab (kostenfreier, offener Clone von GitHub (Versionsverwaltungssystem)). Dann pro WebProjekt einen eigenen virtuellen Host (http://meineDomain1.vpnonly). Die Config wird durch OpenVPN an meinen Windows-Client weitergegeben, sodass Windows weiß, dass es bei Eingabe dieser Domain auf den virtuellen Server routen muss.

D.h., dass ich beim Programmieren mit VPN Verbunden bin um die aktuellen Quelltexte als lokale Arbeitskopie auszuchecken. Dann programmiere ich - egal ob Delphi oder Webprogrammierung. Für Web hab ich natürlich eine portable XAMPP-Installation, mit eigenen lokalen VHosts zum Testen.

Während des Programmierens muss ich nicht mit dem Server per VPN verbunden sein. Nur dann, wenn ich mit mit der Arbeit (oder einem Teil) fertig bin. Dann "committe" und "pushe" ich die Änderungen an den GitLab-Server (virtuellen Server). Andere Programmierer können diese Daten wieder auschecken oder sie werden bei ihnen automatisch geladen. Je nachdem.

Installiert werden muss auf dem virtuellen Server: Apache, MySQL, GitLab, GitLabShell etc., OpenVPN, RSync (zur Datensicherung). Das war's eigentlich schon. Der Server ist günstig zu haben, da nicht viele Ressourcen benötigt werden.

GitLab dient auch gut als "Datensicherung" der Quelltexte. Nichtsdestotrotz solltest du die Daten über VPN nachts oder wann auch immer regelmäßig mit RSync mit einem PC in deinem Netzwerk synchronisieren. Ein Image des Servers wäre aber noch besser. Das machen aber die meisten Hoster schon ab Werk, je nach Vertrag. Bei meinen 7€-Vertrag habe ich eine automatische IMage-Sicherung dabei.

Ich hoffe, ich konnte dir ein wenig helfen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Seite 1 von 5  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz