Überblick PHP Sources / Backup / Versionskontrolle / CMS

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Überblick PHP Sources / Backup / Versionskontrolle / CMS

    Hi zusammen,


    Ich entwickele seit einiger Zeit in PHP und mit der Zeit stellen sich mir ein paar Probleme in den Weg. Zum Rahmen.

    3 Server:
    Step 1 – Entwicklung (Verweis auf Testdatenbank)
    Step 2 – Testumgebung (Verweis auf Testdatenbank)
    Step 3 – Produktion (Verweis auf Produktive Datenbank)

    Mein Problem ist die Versionskontrolle. Ich arbeite an einem größeren Projekt mit div. Modulen unterschiedlicher Versionen. Ich habe 4 Ablageverzeichnisse für die Sources also auf den 3 Servern und ein Backupverzeichnis.

    Nur langsam verliere ich die Übersicht über die Versionen was wo liegt. Okay eigentlich wenn ich Modifikationen vornehme mache ich es erst in der Entwicklung dann schiebe ich es weiter in Test und dann Produktion und mache nen Backup. Bisher immer mit allen Sources auch welche die ich überhaupt nicht überarbeitet habe.

    Ich denke mal ihr kennt das Problem baue mal schnell in den nächsten 5 Minuten da was ein oder verändere nen Link etc. Na ja dann fehlt die Zeit das durch alle Steps zu schieben und man macht direkt Änderungen in der Produktion. Leider entstehen dadurch viele unterschiedliche Versionen und irgendwann weiß man nicht mehr was wo welchen Stand hat.

    Jetzt wollte ich einfach mal in die Runde fragen wie ihr damit umgeht.

    Ich will demnächst wenn ich Zeit finde auch WCMS bei mir implementieren aber dann ist es ja noch unübersichtlicher mit den Versionen oder was meint Ihr?

    Kennt Ihr geeignete Tools die so was verwalten ?

    Gruß
    PsY

  • #2
    stichwort: CVS oder besser Subversion (SVN)
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Original geschrieben von Benny-one
      stichwort: CVS oder besser Subversion (SVN)
      Hatte ich auch mal laufen, habe mir dann aber selbst was geschrieben was mir schön in Tabellen die aktuellen Veränderungsdaten und Dateien an denen veränderungen durchgeführt worden sind anzeigt, sowie den Modul name und deren Versionsnummer die ich in den ersten 5 Zeilen jedes Scriptes stehen habe.

      Ich konnte mich nämlich irgendwie nie wirklich mit CVS anfreunden *g*


      Sers
      Der Boris

      Kommentar


      • #4
        Also Subversion klingt mir Sympatisch. Vorteil bei CMS ist halt, dass auch keine Programmierer was ändern könnten. Habt ihr da ein geeignetes für mich ? Mir wurde WCMS empfohlen


        @boris

        kannst Du vielleicht mal Beispiel Posten ? Klingt auch recht nice weil das CMS steht schon seit paar Monaten auf meinem Plan. Oder ich stelle mich zu doof an das zu implementieren.

        Kommentar


        • #5
          @psydash
          Also ein bsp. kann ich jetzt nicht zeigen, da ich meine kleine komposition nur für's Firmeninterne Entwicklerteam gebastelt habe, ergo kann ich auch vom quellcode nichts zeigen, aber ich kann dir mal aufzählen welche ansätze ich so angegangen bin ?



          Sers
          Der Boris
          Zuletzt geändert von boris-schneider; 21.04.2006, 14:17.

          Kommentar


          • #6
            das wär doch schon mal ne Menge wert...

            Kommentar


            • #7
              Original geschrieben von psydash
              Also Subversion klingt mir Sympatisch. Vorteil bei CMS ist halt, dass auch keine Programmierer was ändern könnten.
              mit tortoise und cvs sollte das jeder (sry) Idiot hinkriegen. Subversion ist da geringfügig anspruchsvoller, weil die Locks wenn möglich umgangen werden, ist dafür bei Text-Dateien aber auch wesentlich schöner ... ich benutze svn mittlerweile für fast alles (z.B. Facharbeit für die Schule ^^)

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                also...

                Im Prinzip ist die ganze Geschichte sehr simple, ich habe momentan auch 3 Verzeichnisse in denen ich Arbeite: Entwicklung | Test | Backup.

                Ich habe mir dazu wie schon erwähnt eine art "CMS" zu geschrieben, das im Hauptbereich mein Verzeichnis "Entwicklung" ausgibt, in dem eine geschriebende Klasse von mir das Hauptverzeichnis von "Entwicklung" samt aller unterverzeichnisse ausliest und diese mir in einer Baumansicht ausgibt (Alle Unterordner lassen sich mittels JS auf/zu klappen).
                Das interessante daran ist das jede einzelne Datei in der Baumansicht auch zugleich in einer Datenbanktabelle vorhanden ist, die parallel zu dem auslesen der Verzeichnisse die daten dazu aus der Datenbank rausholt und mit den Dateien abgleicht um die werte entsprechend anzuzeigen.

                Wirklich "jede" Datei hat im Header folgende zeile stehen:
                PHP-Code:
                /* Datei:mod_unreal.inc.php #:19615 | Projekt:12 | Version:4.0 */ 
                um die Dateien (wenn mal was sein sollte, fehler beim umbenennen etc.) durch die Suche zu identifizieren.

                Okay weiter...
                Jede Zeile aus der Baumansicht schaut nun wie folgt aus:

                ./mod_unreal.inc.php Version: 4.0 | Grösse: 13KB | Letzte Veränderung: 02.04.06 | Projekt:12 | temp_datei(ok)

                Wie du siehst werden die wichtigsten Daten angezeigt, der Dateiname, die Version (die im übrigen beim DIR Listing aus der ersten Zeile ausgelesen wird), die aktuelle dateigrösse, die letzte Veränderung (wird anhand der Datenbank abgeglichen und als differenz ausgegeben), dann das Projekt wo diese Datei zugeteilt ist und eben ob eine Temporäre Datei von dieser vorhanden ist.

                Wenn man auf den Dateinamen klickt öffnet sich ein Javascript Menue mit verschiedenen Optionen: Bearbeiten, Löschen und Backup erstellen, bei letzterem wird in einem seperaten Ordner eine kopie angelegt die bei jedem neuen backup immer wieder überschrieben wird.

                Ich habe für mich eine kleine spielerei eingebaut (auch wenn sie nicht sooo sinnvoll ist), wenn ich die Datei bearbeite wird sie nicht in einem popup geladen sondern es wird mein PHP-Editor via exec aufgerufen und mittels spezieller kommandozeile auch die Datei direkt drinnen geöffnet!

                Dabei wird unteranderem ein Update in der datenbank durchgeführt die den zeitpunkt des öffnens speichert.
                Beim nächsten mal wird ein [COLOR=crimson][e][/COLOR] hinter dem Dateinamen angezeigt das nur angeben soll das man die Datei "eventuell" bearbeitet hat, ein klick auf [e] löscht den wert aus der zeile in der Datenbank wieder.

                Dann ändere ich was, speichere ab, geht auf [UPDATE] damit alle verzeichnisse

                Sorry falls das alles sehr verwirrend klingt, aber ich bin grad etwas unter zeitdruck und will es noch schnell fertig bekommen
                Ich hoffe mal das es ein anreiz war vielleicht selbst sowas auf die Beine zu stellen.
                weiter läuft mein System natürlich auch unter verschiedenen Benutzern damit man weiß wer an welchem projekt arbeitet, und es wird auch noch aufgeführt welcher Benutzer etwas verändert hat usw.



                sers
                Der Boris

                Kommentar

                Lädt...
                X