![]() |
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. |
AW: Arbeiten im Team
Da würde sich die Einrichtung eines zentralen SVN Servers anbieten.
|
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)? |
AW: Arbeiten im Team
|
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?
|
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 ![]() zu den restlichen Punkten: Vergiss deinen ftp-Server wieder ganz schnell. Zitat:
![]() Grüße |
AW: Arbeiten im Team
VisualSVN ist eine SVN Server und sollte daher direkt aus der IDE ansprechbar sein.
|
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 |
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. |
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 ( ![]() 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! |
AW: Arbeiten im Team
Wenn es nicht mehr als 5 Benutzer sind, bietet sich auch
![]() |
AW: Arbeiten im Team
Da hätt ich doch mal eine Frage, die mich immer wieder mal kurz beschäftigt, obwohl ich selber ja nur lokal als einziger an meinen Projekten arbeite:
Wie wird das mit GIT gehandhabt, wenn zwei oder mehr Entwickler dieselbe Unit bearbeiten? Sperren, wie Captnemo das oben andeutet, ist ja mit GIT nicht möglich, weil man ja offline am lokalen Repository arbeitet. Das kann (oder muß) doch zu Konflikten führen, wenn die Bearbeitung derselben Pas-Datei vorher nicht genau abgesprochen wurde. Sollte man das zeitgleiche Bearbeiten derselben Datei durch verschiedene Programmierer dann nicht eher vermeiden? |
AW: Arbeiten im Team
Der Vorteil gegenüber einer eigenen privaten Lösung ist der, dass die Quelltexte keinem anderen Unternehmen in Amerika und Co. anvertraut werden. Natürlich muss der eigene Server dann relativ sicher sein. Es empfiehlt sich dann auch, keine Domain dafür zu registrieren, sondern es bei der Standard-Hostindomain "s716352@online.de" (wie auch immer) zu belassen.
Lokal brauchst du dann übrigens einen GitClient zB SourceTree. Sehr und und kostenlos. |
AW: Arbeiten im Team
Git führt die Dateien per Diff zusammen. Bei Konflikten kann man alles selbst bestimmen, welche Version übernommen wird. In der Regel kommt es aber nicht zu Problemen, da diff beide Dateien zu einer zusammenführt.
|
AW: Arbeiten im Team
Zitat:
|
AW: Arbeiten im Team
Das liegt ja in der Natur der Sache. Da muss man halt entweder feste Bereiche definieren, wer wo programmieren darf, die anderen im Wiki benachrichtigen oder eben neue Methoden via overload deklarieren.
|
AW: Arbeiten im Team
Okay, danke für die Bestätigung, so hab ich mir das auch zusammengereimt, wollte es aber mangels eigener Erfahrung mal von jemand anderem hören/lesen :thumb:
|
AW: Arbeiten im Team
Im Normalfall arbeiten aber auch nur selten mehrere Leute an einer Unit.
Ich weiß nicht wie das bei GIT ist aber in SVN kann man auch Dateien blockieren. Diese können dann solange nicht von anderen commited werden solange die Datei blockiert ist. Ansonsten kann GIT/SVN meistens die Arbeit der beiden Personen mergen, wenn sie nicht wirklich an exakt der gleichen Stelle Sachen hinzugefügt/geändert haben. Und ein wenig Absprache sollte/muss sowieso vorhanden sein. Wenn jeder nur sein Ding durchzieht ohne Absprache wird das natürlich nichts. |
AW: Arbeiten im Team
Zitat:
Eine Sperre in git kann es nciht geben, da es keinen zentralen Server gibt, der das regeln könnte - lokale Arbeitsbranches könnten damit eh nicht "erschlagen" werden. |
AW: Arbeiten im Team
Zitat:
Erst wenn man Aktualisierungen (z.B. die neueste) oder ein bestimmten Stand oder Branch anfordert, wird das lokale Repository geändert. Man muss sich mit der Arbeitsweise etwas umgewöhnen. Vor Jahren, habe ich immer Zwischenstände in anderen Verzeichnissen gesichert und all sowas (oder die Krise gekriegt mit VSS). Das muss man so nicht mehr machen. Man kann Schritt für Schritt committen, hochladen, runterladen, "vor- und zurückspulen" oder Branches anlegen, wenn man neue Interfaceversionen beginnt. Im Prinzip arbeitet man immer mit 2 Source "Versionierern", dem (entfernten) Server und dem lokalen Abbild. Beide halten immer alle Versionen, zumindest der Server und man bestimmt, welche Variante im Projektverzeichnis bearbeitet wird oder auf den Server geschrieben wird. |
AW: Arbeiten im Team
Zitat:
Zitat:
|
AW: Arbeiten im Team
Zitat:
|
AW: Arbeiten im Team
Zitat:
|
AW: Arbeiten im Team
Zitat:
Und Du glaubst wirklich, dass ein von Dir selbst betriebener Server es sicherheitstechnisch auch nur annähernd mit einem darauf spezialisierten Unternehmen, das genau davon lebt aufnehmen kann? Aber natürlich sind Deine weltverändernden, bahnbrechenden Geheimalgorithmen auf einem virtuellen deutschen Massenhoster-Server sicherer. ![]() Zitat:
Zitat:
|
AW: Arbeiten im Team
Zitat:
|
AW: Arbeiten im Team
Zitat:
![]() Das ist übrigens auch ein Grund, warum manche Unternehmen ihren Kunden vollständigen Zugriff auf den Quellcode ihrer Produkte gewähren. Atlassian z.B. ist ein Beispiel dafür. Wieso glauben viele - vor allem deutsche? - Unternehmen eigentlich, dass das Vermögen im Quellcode liegt? Der Mitarbeiter, der sein Wissen gegen Cash viel effektiver an den Mitbewerber weitergeben könnte, der wird nicht so umhegt und gepflegt. |
AW: Arbeiten im Team
Zitat:
|
AW: Arbeiten im Team
Klar kann man jedes Horrorszenario herbeidiskutieren. Ich bleibe aber dabei: ich halte ein Git-Hosting bei darauf spezialisierten (und vor allem davon lebenden) Anbietern nicht per se für unsicherer als auf einem virtuellen Server eines Massenhosters.
Ich kann mich an einen Fall bei einem unserer (früheren) Provider erinnern, wo auf Grund einer Fehlkonfiguration alle Ressourcen (also auch Festplatten) für alle Guests eines Hosts sichtbar waren. Der Fehler wurde erst nach Monaten bemerkt. Oder wie viele VPN- oder SSH.Credentials mittels - natürlich unverschlüsselter - Email versendet werden. Oder wie viele Festplatten in Firmen-Notebooks unverschlüsselt sind. In unserer Firma kommen im Jahr ca. 5 Notebooks mit sensiblen Daten verlustig. Wenn die Daten darauf nicht hinreichend verschlüsselt wären, dann würde ich nervös werden. Aber doch nicht, weil ich meine Quellcodes auf BitBucket hoste. |
AW: Arbeiten im Team
Zitat:
* Es ist bekannt, daß die NSA regelmäßig amerikanische Firmen dazu zwingt, Daten oder Keys an die NSA herauszugeben, und im Prinzp keine amerikanische Firma davor geschützt ist. Es wird auch vermutet, daß zahlreiche amerikanische Softwareprodukte über "Hintertüren" verfügen, um amerikanische Industriespionage zu ermöglichen. |
AW: Arbeiten im Team
Zitat:
Ob sich der Aufwand für einen privaten Server bei Quellcode lohnt, hängt davon ab, was die Anwendung machen soll, bzw. wie hoch das Risiko für Angriffe ist. Kurz gesagt muss der Aufwand für einen erfolgreichen Angriff größer sein als der Nutzen davon. Edit: Zitat:
|
AW: Arbeiten im Team
Wenn ich wirklich etwas entwickel was ich später verkaufen möchte dann würde ich den Code auch niemals auf fremden Servern hosten. Schon gar nicht wenn Leute meinen Source sehen/runterladen können. Da ist ein eigener SVN/GIT Server auf einem (V-)Server wahrscheinlich sicherer, oder man baut sich lokal ein kleines System im Heimnetzwerk.
|
AW: Arbeiten im Team
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
![]() Zitat:
Zitat:
|
AW: Arbeiten im Team
Zitat:
Zitat:
Zitat:
|
AW: Arbeiten im Team
Zitat:
Wenn die Sourcen so wertvoll sind, dann lohnt sich der physische Angriff viel eher und ist bei einem "Heimnetzwerk" wesentlich leichter (und auch viel schwerer nachzuweisen). Als wenn die NSA einen Brief an den Hoster schickt à la "bitte Sourcen von xyz GmbH zum Zwecke der nationalen Sicherheit aushändigen". Ich habe den Eindruck, dass die wenigsten, die sich hier äußern, überhaupt schon einmal mit Industriespionage zu tun hatten. Der USB-Stick (gerne auch eine Micro-SD-Card), den ein Mitarbeiter für einen luxuriösen dreiwöchigen Urlaub in der Karibik für die ganze Familie mal irgendwo in einem Bistro nach einem (natürlich bezahlten) Abendessen mit dem befreundeten Entwickler des Mitbewerbers aus der Nachbarstadt "zufällig" auf dem Tisch liegen lässt, ist die viel konkretere Gefahr. Die will der "German Angsthase" aber nicht sehen und investiert Zeit und Geld in zweifelhafte Schutzmechanismen für Quellcode gegen Datendiebstahl durch ausländische Geheimdienste, aber knausert an den Gehältern der und den Incentives für die Mitarbeiter. Auf besagtem USB-Stick ist dann übrigens viel mehr als nur der Quellcode - ein Backup der Kundendatenbank und der Finanzbuchhaltung sowie der archivierten Verträge passt da sehr gut auch noch drauf... |
AW: Arbeiten im Team
Zitat:
Zitat:
Zitat:
Von meiner Seite kann ich sagen, dass ich in einem Unternehmen arbeite, bei dem man davon ausgehen kann, dass es bereits Ziel von Geheimdiensten war&ist. Ich bin dort zwar nicht in der Sicherheitsabteilung, aber man kriegt so manche Sachen trotzdem mit. Und ja, es gibt immer auch das Risiko, dass ein Mitarbeiter gekauft wird. Das sollte aber genauso nachvollziehbar sein, und der entsprechende Mitarbeiter kann dafür auch rechtlich zur Verantwortung gezogen werden. Insgesamt ist das ein nicht zu vernachlässigender Angriffsvektor, der aber kein Grund ist, andere Angriffspotentiale zu ignorieren. |
AW: Arbeiten im Team
Zu dem Thema Brandstatistiken und Industriespionage möchte bzw. darf ich nur so viel sagen, dass ich aus meiner täglichen Arbeit durchaus vertraut mit solchen Themen bin.
Bitte komm aber noch mal auf die hier angesprochene Problematik zurück: Wenn wir hier ein so dermaßen schützenswertes Gut haben, dass davon die Weltherrschaft abhängt, dann ist weder der virtuelle Server bei einem Massenhoster, noch ein kommerzieller Git-Hoster, noch der Server im Keller ein probater Aufbewahrungsort. Für den durchschnittlichen Klein(st)unternehmer bleibe ich aber dabei, dass ein darauf spezialisierter Hoster die (durchaus vorhandenen und berechtigten) Schutzbedürfnisse meist besser befriedigen kann als der Betrieb eines eigenen (virtuellen) Servers bei einem Massenhoster. Und zu glauben, dass sich die NSA wirklich für die 1.654ste in Delphi geschriebene Vereinsverwaltung interessiert, ist einfach vermessen. Aber ich gebe Dir Recht, dass natürlich jeder Angriffsvektor abgewogen und bewertet werden muss. Oft ist es halt eine Generalangst vor allem, die dann zu unüberlegten, viel gefährlicheren Handlungen führt. |
AW: Arbeiten im Team
Also gegen einen Server im Keller ist doch nichts einzuwenden, so lange der nur per VPN von aussen erreichbar ist. Auf diesen Server spielt man einen Apache und kann dann gleichzeitig das Wiki und das Web-Frontend des hg-Servers drüber laufen lassen. Super einfach, stabil und geschützt genug (wer ins Firmennetz eindringen kann, der hat es sich auch verdient an die Sourcen zu kommen).
Sherlock |
AW: Arbeiten im Team
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Arbeiten im Team
Ja, man kann natürlich Kompetenz und KnowHow nach aussen werfen, und sich auf die "wichtigen" Dinge konzentrieren. Andererseits könnte der Chef auf den gleichen Gedanken kommen, und die Entwicklungsabetilung outsourcen. Wer keinen Apache zusammenklicken kann (und mehr muss man mit einer handelüblichen XAMPP-Installation wirklich nicht tun) und darauf kein DokuWiki (imho simpelstes Wiki überhaupt) und hg-Servlet drauf bekommt, der bekommt auch sonst in der IT nichts auf die Reihe. Für das VPN und die Unternehmensfirewall sorgt die hauseigene IT.
Sherlock |
AW: Arbeiten im Team
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz