Vielleicht habe ich mich etwas missverständlich ausgedrückt.
Ich würde alles wie gehabt versionieren (also keine Änderung an den bestehenden Modul-Regeln), ich würde nur gerne zusätzlich ein Verzeichnis angeben was ebenfalls auf den GIT übertragen & versioniert wird. Ob in diesem Verzeichnis dann MD-Files liegen, Grafiken die man selber gebaut hat, eigene Log-Files oder sonst irgendwas ist ja erst mal egal…
In meinem Beispiel würde ich dann auf dem Github im Root-Verzeichnis (parallel zu \db, \media, \webfront) auch ein Verzeichnis \SymDoc mi entsprechendem Inhalt erwarten.
Hallo
Bei mir bricht das Script nach ein paar Sekunden ab und zwar mit dem selben Fehler.
17.03.2019, 16:08:25 | execute | git commit -a -m ‚Aenderungen vom 17.03.2019 16:08:10‘ 2>&1 … , exitcode=128, err=fatal: Paths with -a does not make sense.,output=
Seltsamerweise funktioniert genau dieser Befehl im DOS-Fenster ohne Problem:confused:
Hmm, das ist merkwürdig. Ich habe zwar kein Windows als Server, aber das git-Interface auf Windows anders sein ist als auf Linux kann ich mir nicht so recht vorstellen. Die Fehlermeldung ist auch nicht so recht verständlich, ein commit -a ist ja dazu da, alle in dem Git-Clone zu comitten und bekommt ja auch kein Pfad übergeben (wie der Debug-Output ja zeigt - da geben ich die Kommandos komplett aus.
Ganz doof gefragt und nur alles auszuschließen: hast Du die Anlage des Git-Repository so gemacht, wie ich das geschrieben habe? Und hast dann den initialen clone erstellt mit dem Button Repository einrichten auf dem Konfigurationsformular?
Das muss ein lokales git-Verzeichnis muss für den Unwert, unter dessen Kennung der IPS-Dienst läuft frei schreib und lesbar sein (ich bin mir nicht sicher, die die Berechtigungen von IPS auf Windows sind).
aha, dann kann die Windows-Shell mit einfachem ’ nicht umgehen.
Ich probieren das mal aus, ob das unter Linux ein Problem ist, auf die " zu wechseln oder ich mach das OS-Abhängug.
Bin heute aber unterwegs, komme ich erst morgen dazu.
die Fehlermelung ist leider nur unvollständig, da geben ich nur die letzte Zeile aus.
Ich kann zur Zeit nicht an den Rechner … wenn du magst, kannst Du mal etwas probieren:
in dem Miodul gibt es eine Funktion execute(). Die ruft die php-Funktion exec() auf und die hat als 2. Parameter die Variable out. Kannst du die immFehlerfall mal per SendDebug() ausgeben lassen? Ist ein Array, also mit print_r(out, true).
Vielleicht kriegen wird dann mehr Info, was git schmerzt. Der Ecitcode 128 ist nicht differenziert, der komt bei allen möglichen Fehler (lt Google).
Wenn du das nicht kannst, kann ich gerne morgen eine Version mit dieser Ausgabe erstellen.
ssh-xopy-id ist nur ein script, was (im wesentlicehn) die lokale datei ~/.ssh/id_rsa.pub and die date ~/.ssh/authorized_keys des remote-systems anhängt.
kann man den remote Hostkey initial vorab auslesen und dann in die lokale known_hosts kopieren. Dann sollte die Abfrage nicht mehr kommen. Oder man macht als erstes einen ssh von Hand und bestätigt die Abfrage von Hand. Das nä#chste Mal sollte nicht mehr gefragt werden. Als letzte Möglichkeit kann man die Hostkey-Verification im Befehl oder in der ssh_config abschalten (nicht empfohlen!)
Unter Windows gibt es das in der Git Bash
Hallo
Nur bedingt.
SSH laeuft jetzt vom IPServer auf meine Synology.
Keys erstellt und verteilt.
Kann mich jetzt direkt mit „ssh git@xx.xx.xx.xx“ direkt einloggen per CMD-Fenster.
Ueber dein Modul kommt immer noch die Fehlermeldung „Host key verifaction failed“.
Inzwischen denke ich es liegt daran, dass IPSymcon als Service auf Windows laeuft.
Wohl kein Zugriff auf die Userkeys.
Hab mal ein Workaround laufen.
Dein „git push“ ist wohl der letzte Befehl. Deshalb ein kleines Script.
Das ist ja zu blöde, das das nicht funkioniert, aber ssh ist dinde ich auch diesbezüglic immer etwas problematischer. Leider kann das standard git-Paket af der Synology kein http.
was für eine hast du? mit docker oder ohne? Ich frage, weil ich derzeit mit einem git-server in einem Docker-Container experimentiere … und der kann auch http.
Wenn das in dem Batch-Script icht funktionieren würde, würde ich annehmne, das ein Befehl, der direkt von Symcon unter einer anderen Bneutzerberechtigung läuft als eine User-Shell. Aber das ist ja nicht so. Viellecht wird aber bei einem exec() kein User-Enviroment geladen oder so.
Man könnte nochmal versuchen, das ‚git push‘ mit Backtck bzw. shell_exec oder system auszuprobieren. Vielleicht wird dann ein anderes Enviroment geladen. Nachteil,bei allen Funktionen ist, dass ich den Exitcode des Progammes nicht geliefert bekomme, also eine Fehler nicht mit bekomme.
Gruß
demel
Nachtrag: oder funktionier eventuell ‚cmd git push‘? Zugegebenermassen stochere ich bei Windows etwas im Nebel.:rolleyes:
Hallo
Laeuft bei mir ohne Docker. shell_exec etc hab ich probiert ohne Erfolg.
Hab auch den SSH-Key in der .git/config eingetragen.
Schau naechste Woche nochmal danach. Im Moment funktioniert es ja.
irgendwie verzweifele ich hier gerade. Ich habe auf github ein privates Repository angelegt (und mit einer Datei gefüllt) und alle Daten hier eingetragen. Bei Passwort habe ich den oauth-Key eingetragen, den ich vorher angelegt habe.
Hallo,
der Dialog ist leider nicht ganz zu sehen, aber ein git-Repository auf jeden Fall, git-User und Passwort und ein lokales Verzeichnis.
Ich habe bei kit http als Zugriffsmehode, mit „ssh“ kann ich nicht so genau sagen, zu lamge her.
Die Meldung kommt aber daher, das ein Aufruf von ‚git —version‘ durch das Modul fehlgeschlagen ist.
Ich würde auf jeden Fall mal das Debug-Tab aufmachen, den Konfig-Tab schliessen (das Debug-Fenster bleibt ja offen) und dann das Konfig-Tab wieder öffnen. Da steht vermutlich im Debug etwas erhellendes.