2016-05-27 5 views
0

Ich versuche mit Git-Hook, mt Projekt in FTP bereitzustellen.Wie 'GIT_WORK_TREE' zu bestimmten Treiber in Computer gesetzt werden

Nebenbei verwende ich 'CYGWIN' zu bauen.

Hier ist meine Umgebung und Einstellungen.

FTP in remote

C: \ cygwin64 \ test_ftp \

Cygwin in remote

C: \ cygwin64 \

Fernbedienung Wurzel

C: \ cygwin64 \ Administrator home \ \

git/hooks/post-receive

#!/bin/sh 

DEPLOY_DIR=~/../../test_ftp 
echo "Start deploying..." 
GIT_WORK_TREE=$DEPLOY_DIR git checkout -f 
echo "Deployment is completed." 

Es funktioniert gut.

"git push" wird "post-receive" auslösen und Dateien in "C: \ cygwin64 \ test_ftp \" bereitstellen.

.

Jetzt möchte ich den Weg der "test_ftp" ändern "C: \ test_ftp \",
Ich versuche, "DEPLOY_DIR = ~ /../../../ test_ftp" zu setzen und führen Sie „git drücken".

Fehler tritt in deploy Aufgabe:

remote: fatal: Dieser Vorgang muss

Gibt es eine Möglichkeit GIT_WORK_TREE die in einem Arbeits Baum laufen Weg aus der Cygwin zu setzen ??

+0

versuchen Sie '/ c/test_ftp /' stattdessen – ElpieKay

+0

Nicht funktioniert. > remote: fatal: Konnte nicht zu '/ c/test_ftp /' wechseln: Keine solche Datei oder kein Verzeichnis –

+0

Antwort gefunden. –

Antwort

1

Ich fand die Antwort später.

  1. Bearbeiten Sie die Datei "C: \ ctgwin64 \ etc \ passwd".

    Ersetzen Sie "/ home/Administrator" zu "/ cygdrive/c".

  2. Bearbeiten Sie die Datei "C: \ ctgwin64 \ etc \ sshd_config".

    Set "StrictModes no"
    Set "AuthorizedKeysFile/path/to/your/authorized_keys"

  3. Starten Sie den "CYGWIN sshd" Service.
  4. Versuchen Sie etwas auf der Client-Seite zu schieben.

Es funktioniert !!

Jetzt kann ich mich mit dem Schlüssel anmelden, "post-receive" wie gewohnt auslösen und Dateien in "C: \ test_ftp" bereitstellen.

Verwandte Themen