Ist es möglich, für jede Fernbedienung separate Git-Ignorierregeln zu haben?
Frage
Hier ist meine Situation.Ich richte einen Entwicklungsserver und einen Produktionsserver auf PHP Fog ein.Ich habe eine Reihe von Dateien auf meinem lokalen Computer, an denen ich arbeiten und die ich auf jeden der 2 Server auf PHP Fog übertragen möchte.
Ich möchte jedoch, dass mein Entwicklungsserver mit herkömmlichen htpasswd / htaccess-Methoden geschützt wird.Dies bedeutet, dass der Produktionsserver diese beiden Dateien in meiner Arbeitskopie ignorieren muss.
Gibt es eine Möglichkeit, den Produktionsserver anzuweisen, diese beiden Dateien zu ignorieren, wenn ein Commit durchgeführt wird, sie aber beim Pushen auf den Entwicklungsserver durchlaufen zu lassen?
Lösung
Ich habe mir das auch vor einiger Zeit angesehen und diesen Artikel verwendet. Er sollte erklären, wie man einen einzelnen htaccess für mehrere Sites verwendet, anstatt sich um Git zu sorgen.
Blogposten:"Einzigen .htaccess
datei in Ihrem Git-Repo für Ihren Entwickler- und Produktionsserver" von Mark Alan Evans
Er beschrieb das Problem so:
Problem:
Du willst haben
dev.yoursite.com
undwww.yoursite.com
aber du willst nichtdev.yoursite.com
für die Öffentlichkeit sichtbar.Lösung:
Wenn Sie Apache verwenden (was viele von uns sind),
.htaccess
und.htpasswd
zur Rettung.
In Ihrem.htaccess
datei hinzufügen:
SetEnvIf Host yourstagingserver.com passreq
AuthType Basic
AuthName “Staging Server”
AuthUserFile /path/to/.htpasswd
Require valid-user
Order allow,deny
Allow from all
Deny from env=passreq
Satisfy any
Konfigurieren Sie Ihre Kennwortdatei sowohl für die Entwicklung als auch für die Produktion
Wo immer Sie das angeben
/path/to/.htpasswd
datei, navigieren Sie von der Konsole zu diesem Ordner und geben Sie “htpasswd -c .htpasswd mark
" wobei mark der erste Benutzer ist, für den Sie ein Login erstellen möchten.
Für jeden zusätzlichen Personentyp “htpasswd .htpasswd linda
” wolinda
ist der nächste Benutzername, den Sie dem hinzufügen möchten.htpasswd
Datei.
Sie werden jedes Mal aufgefordert, das Passwort zweimal einzugeben (Ihr Passwort wird im.htpasswd
datei) verschlüsselt neben dem von Ihnen erstellten Benutzernamen.Beachten:
AuthUserFile
erwartet einen absoluten Pfad, aber wenn Sie Ihren Pfad nicht mit einem Schrägstrich beginnen, wird standardmäßig das Verzeichnis verwendet, das Sie in Ihrem httpd.conf
datei als ServerRoot
.