Automatische Sicherung von .Net-Projekten

In meiner Firma entwickeln wir mehrere Windows-Anwendungen mit .Net-Technologie. Jeden Tag kopieren wir unsere Projekte manuell auf eine externe Festplatte. Ich suche also nach einem Tool, das diese Aufgabe erledigt.

Das heißt, wir haben ein dediziertes System, um die Projektsicherungen jeden Tages zu speichern, und benötigen ein Tool, um automatisch Sicherungen von jedem Computer zu erstellen und diese Sicherungen auf das oben genannte System zu kopieren.

Gibt es eine Software/Methode, um meine Anforderung zu erfüllen??

  • Kostenlos oder kostenpflichtig
  • Sollte im Windows-Betriebssystem funktionieren

Antworten (2)

Cobian-Backup

Cobian Backup ist ein Backup-Programm, das auf zwei Arten ausgeführt werden kann: als normale Anwendung oder als Windows-Dienst. Das Programm kann automatische Sicherungen für Dateien und Verzeichnisse lokal oder auf FTP-Servern planen und Komprimierung und Verschlüsselung verwenden.

Benutze es seit 1 Jahr wirklich ein nützliches

Geben Sie hier die Bildbeschreibung ein

Wir können die Zeit für die Sicherung einplanen, und dies geschieht automatisch

Laden Sie @ Cobian Backup herunter

Da Sie Code entwickeln, würde ich dringend empfehlen, ein Versionskontrollsystem anstelle eines einfachen Backups zu verwenden, um Ihren Quellcode zu verwalten.

Dies würde Ihnen geben:

  1. Eine Sicherung des Quellcodes.
  2. Die Änderungshistorie des Quellcodes.
  3. Informationen darüber, wer welche Änderung vorgenommen hat.
  4. Informationen darüber, warum eine Änderung vorgenommen wurde.
  5. Die Möglichkeit, den Quellcode auf einen bestimmten Zeitpunkt, z. B. ein bestimmtes Kunden-Release, zurückzusetzen.
  6. Die Fähigkeit, schnell herauszufinden, wann und wie ein bestimmter Fehler eingeführt wurde.
  7. Die Möglichkeit, Ihren gelieferten Code als aus einer bestimmten Version des Quellcodes generiert zu markieren.

Es gibt eine große Anzahl kostenpflichtiger und kostenloser Tools zur Versionskontrolle, die sich jedoch in drei große Kategorien aufteilen:

  1. Sperren von zentralisierten Systemen – diese erfordern einen zentralen Server und jeder Entwickler muss die Datei(en) auschecken, die er ändern möchte, bevor er die Änderung vornimmt – und andere daran hindern, diese Datei zu ändern. Wenn Sie nicht in einer stark kontrollierten Umgebung arbeiten, würde ich die Übernahme dieses Modells nicht empfehlen, da die Verwaltung solcher Systeme mit einem hohen Overhead verbunden ist.
  2. Zusammenführen zentralisierter Systeme – Erlauben Sie allen Entwicklern, Änderungen am Quellcode vorzunehmen, und stellen Sie dann Tools bereit, die beim Zusammenführen der Änderungen helfen. Erfordert, dass auf einem Computer in Ihrem Netzwerk Serversoftware ausgeführt wird
  3. Verteilte Versionskontrollsysteme – die vollständige Historie ist auf jedem Entwicklersystem verfügbar und sie können Änderungen vornehmen und diese dann zusammenführen. Normalerweise ist eine Kopie der „Master“, von dem alle Entwickler Änderungen per Pull & Push vornehmen – aber wenn der „Master“ verloren geht, kann jede aktuelle Entwicklerkopie verwendet werden, um ihn neu zu erstellen. Änderungen können direkt an einen Master übertragen werden, der auf einem Server läuft, oder können als Patches per E-Mail an Entwickler verteilt werden usw.

Software zum Sperren von zentralisiertem VCS.

Diese Software ist oft teuer und erfordert einen Server mit oft hohem Verwaltungsaufwand, da ein Eingriff erforderlich ist, wenn ein Entwickler Dateien zu lange gesperrt lässt, und Entwickler daran hindert, offline oder unabhängig zu arbeiten. Daher würde ich die Verwendung in diesem Fall nicht empfehlen. Beispiele hierfür sind ClearCase , PVCS ( beide kostenpflichtig) und CVS (kostenlos).

Software zum Zusammenführen zentralisierter VCS.

Während diese immer noch einen zentralen Server erfordern, ist der Verwaltungsaufwand und die Tendenz, das System zu umgehen, aufgrund von Dateisperrproblemen geringer. Ein weit verbreitetes freies System ist Subversion (SVN) .

Verteiltes VCS.

Diese ermöglichen die größte Redundanz und können eine große Flexibilität ermöglichen, einschließlich der Fähigkeit des Entwicklers, Änderungen zu übertragen, während er offline ist, und die Änderungen dann später zu „pushen“. Persönlich würde ich Mercurial (hg) oder Git empfehlen – beide sind kostenlos und beliebt, aber Mercurial ist einfacher zu verwenden und bietet die Möglichkeit, dass jeder Computer als Server mit einer Webschnittstelle fungiert. Beide sind für viele Plattformen verfügbar und haben Clients in viele IDEs integriert.

Sie müssen Ihre Entwickler an die Verwendung solcher Systeme gewöhnen, aber Sie werden feststellen, dass sich der Aufwand lohnt.

Aktualisierung hinzugefügt

Wenn Sie zu verteilten Repositories wechseln möchten und eine GUI benötigen, können die folgenden Links ebenfalls hilfreich sein.

+1, dies wird eine bessere Lösung sein, die verteilt werden kann.