-1

Ich bin eine Ein-Mann-Show, die in den letzten anderthalb Jahren ein neues kundenspezifisches CRM entwickelt und an unsere Geschäftsanforderungen angepasst hat. Ich hatte das Vergnügen, mich mit einem 25 Jahre erfahrenen Entwickler zu beraten.Wie effektiv ein 1-Mann-Entwickler sein?

Aus finanziellen Gründen habe ich keinen Zugang mehr zu seiner Hilfe (vorerst) und habe keine Erfahrung mit der Vorbereitung auf einen Live-Einsatz. (nichts ist jetzt live)

Ich bin derzeit die Einrichtung eines Produktions-Server (quälend) und waren in der Lage, es zu bekommen und läuft und bin derzeit Daten über die Migration, immer OPcache einrichten, etc ..

Eine Sache, die er mir gegenüber erwähnt war zu haben:

  • Local Host (wo ich meine Arbeit)
  • Development Server (wo ich meine Änderungen implementieren und testen)
  • Producti auf Server

Frage 1) Gerade jetzt (wo ich die Live-Änderungen zu schieben), habe ich den Dev-Server und den Produktionsserver. Basierend auf Ihrer Erfahrung, ist der 'Local Host -> Dev Server' Prozess wirklich notwendig für eine 1-Mann-Show? Warum nicht einfach meine Arbeit machen und meine Änderungen im Dev-Server testen? Bitte geben Sie mir einige Beispiele für gängige Praktiken.

Frage 2) Wenn es um die Bereitstellung von Änderungen am Produktionsserver geht, was sind nach Ihrer Erfahrung einige gängige Methoden?

Frage 3) Abgehend von Frage 2, was passiert, wenn ich ein unmittelbares Problem habe, muss ich auch einen "Hotfix" anwenden?

Frage 4)Schließlich, was sind einige Möglichkeiten, den Überblick über Versionen auf der Grundlage Ihrer Erfahrung zu halten? Ich überlegte, GitHub zu verwenden.

+0

@epascarello diese Frage ist eine schlechte Passform für Programmierer - es würde schnell abgelehnt und drüben geschlossen, siehe http://meta.programmers.stackexchange.com/questions/6483/why-was-my-question- closed-or-down-voting/6490 # 6490 Empfohlene Lektüre: ** [Was geht auf Programmers.SE? Ein Leitfaden für Stack Overflow] (http://meta.programmers.stackexchange.com/q/7182/31260) ** – gnat

+0

@ gnat, während diese Frage Antworten anstacheln kann, die in erster Linie auf meinungsbezogenen, einen gemeinsamen Ansatz oder bei der Wenigstens war es meine Absicht, einen Weg zu gehen. Kann diese Frage neu formuliert werden? –

Antwort

0

Ich werde drei Umgebungen zu übernehmen:

Development --> Test ---> Production 

Sie schreiben Code in der Entwicklung, dass Code in Test-Migration (testen Sie Ihren Migrationsprozess und Ihre neue Erweiterungen/Fehlerbehebung) und einmal statisfied, migrieren Sie diesen Code in die Produktion.

Frage 1) Es ist immer notwendig, Ihren Code zu testen. Das letzte, was Sie tun möchten, ist, ungeprüften Code in die Produktion zu bringen - das Geschäft Ihres Kunden hängt von diesem System ab, und ungeprüfter Code zu pushen ist eine großartige Möglichkeit, dieses Geschäft zu ruinieren.

Sie können Anwendungstests mit Integrationstests verwechseln. Bei einer "One-Man-Show" gibt es möglicherweise keine Integrationstests, aber Sie müssen Ihren Code und Ihren Bereitstellungsprozess noch testen. Die Testumgebung ist auch nützlich, damit Benutzer Ihre Verbesserungen/Fehlerbehebungen ausprobieren können, um sicherzustellen, dass sie ihre Anforderungen erfüllen.

Frage 2) Es scheint, dass Sie eine PHP-Anwendung bereitstellen. Sie können this question lesen, um ein paar Ideen zu bekommen, aber es ist alt.Im Allgemeinen wird dies zu einer höchst subjektiven Frage mit vielen verschiedenen Instrumenten und Meinungen; StackExchange ist nicht der Ort für solche Debatten.

Frage 3) Sie verwenden die Quellcodeverwaltung, mit der Sie mehrere Kopien Ihres Codebaums erstellen können, je nach Bedarf für jede "Hotfix" - oder "Enhancement" -Erweiterung. Wenn der Hotfix abgeschlossen, getestet und erfolgreich in die Produktion migriert wurde, können Sie die Hotfix-Verzeichnisstruktur löschen.

Frage 4) Auch hier verwenden Sie die Quellcodeverwaltung. Sie können Git lokal mit GitHub ausführen oder nicht, oder wählen Sie Mercurial, Subversion oder andere. Die Auswahl von SCM ist fraglich (und kein geeignetes Thema für StackExchange), aber die Verwendung der Quellcodeverwaltung löst die Versionierungsanforderungen.