Gibt es eine Möglichkeit für mich, dass ich meine Module testen kann, ohne sie immer auf GitHub laden zu müssen, wo sie jeder gleich sehen/verwenden kann? Ich hatte versucht einen GitServer auf meinem NAS einzurichten, aber dazu bin ich wohl zu doof Und extra 7$ im Monat zahlen für ein privates Repo…nicht unbedingt… Oder gibt es einen Sponsor?
Kann man ein Modul einfach irgendwie in IPS reinkopieren und „Laden“ um es „richtig“ verwenden zu können?
Einfach so reinkopieren ohne irgendwas klappte beim Test nicht, da kannte IPS die Funktionen natürlich nicht.
Du kannst im Prinzip einfach was reinkopieren. Du musst aber dann den Dienst neu starten, damit dieser dein Modul erkennt.
Sofern du dann dein Modul drin hast, kannst du einfach in den Dateien spielen ohne Neustart. Es sei denn:
a) Du änderst etwas an der Create Funktion (Workaround => Instanz neu erstellen anstatt IP-Symcon Neustart geht auch)
b) Du fügst eine neue Funktion, die IP-Symcon noch nicht „erkannt“ hat
c) Du ändert die Signatur (=Paramter) einer Funktion, sodass IP-Symcon falsche Parameter kennt
d) Ich hab bestimmt einen Sonderfall vergessen
Rein kopieren sollte gehen. Wenn du IPS einmal neustartest.
Solange du an den json und public Funktionen nichts änderst, braucht es keinen Neustart.
Michael
PS: Für den IIS gibt es Bonobo Gibt Server. Hat mich 5minuten gekostet
PPS: Man ich bin am Handy zu langsam
@paresy: IPS Neustart…hätte ich ja mal versuchen können Aber dann muss ich auch jedes Mal die IPS-Console neu öffnen, das ist eher unschön.
> Dazu direkt eine Anregung. Nach dem Trennen vom Server sollte die IPS-Console sich automatisch wieder neu verbinden Ist da was geplant? Weil dann könnte man einfach ein IPS-Neustart Skript machen und zack geht’s weiter.
@Nall chan: Bonobo hatte ich gesehen, aber extra einen IIS wollte ich dann auch nicht machen. Bei kleineren Änderungen könnte ich es direkt auf dem IPS-Test-Server machen, aber bei meinem momentanen Projekt kommen am Laufenden Band neue Funktionen dazu, da komme ich dann ohne IPS Neustart nicht hin.
@Titus: Bitbucket. Klingt interessant. Da kann man mit dem „original“ GitHub Tool aber vmtl. nichts hochladen?! Was wäre dann da zu empfehlen? TortoiseGit?
@BerndJ: Einfach reinkopieren (ohne IPS Neustart) reicht bei mir leider nicht aus.
Danke für die Ideen! Da hab ich am Wochenende etwas zum Testen
Am schönsten wäre halt wirklich ein eigenes GitServer, wo ich im Programm dann auswählen kann > upload zum eigenen Server oder wenn fertig und Ok > upload zu GitHub…
es gibt aber ein Problem mit einfach reinkopieren:
Wenn ich dann doch irgendwann mal wieder die Version vom Git haben will, geht der Update aus IPS nicht mehr, da die Dateien lokal geändert wurde.
Und ich will natürlich auch testen, ob der Update geht…
Mein Lösung:
[ol]
[li]Vor dem hinkipieren mit „cp -a“ eine Kopie erstellen
[/li][li]hinkopieren (+ durchstarten) und testen
[/li][li]Wenn fertig alten Stand zurücksetzen (+ durchstarten)
[/li][li]aufs Git committen
[/li][li]Module update aus IPS
[/li][/ol]
Nicht schön, aber geht.
Aber auch so hat ein Verwender kürzlich einen Fehler bekommen, da die __generated.incl.php nicht korrect erzeugt wurde. Aber auch da half dann durchstarten…
Soooo, das Ergebnis meiner Tests ist eine super Lösung mit der ich aktuell sehr zufrieden bin
> GitHub Account für die fertigen Module
> Bitbucket Account (kostenloses privates Repo) für die Tests
>> SourceTree (Programm) um, nach kurzer Einarbeitung, sehr einfach Tests bei Bitbucket zu hochzuladen, über IPS zu testen und wenn die Änderungen OK sind, dann einfach als Push-Ziel GitHub auswählen und fertig
SourceTree ist ein super Programm, kann in alle Richtungen clonen, pullen, pushen, … Bisher einfach perfekt für mich Auch Bitbucket kann direkt von GitHub ein Repo clonen und hin und her und echt einfach
Um ein privates Projekt in IPS hinzuzufügen, muss man einfach eine URL nach diesem Schema eingeben:
https://USER:PASSWORT@www.bitbucket.org/USER/Repo
Danke für eure Anregungen und vlt. hilft es ja noch jemandem beim Einstieg in die tolle Welt der Module
Habe mir gleich mal Bitbucket angelegt und Sourcetree runtergeladen, danke für den Hinweis.
Muss ich bei einem Commit nach Github die Dateien aus dem Bitbucket Verzeichnis ins github Verzeichnis kopieren und dann mit der Github Applikation nach Github hochschieben? Oder kann ich auch aus Sourcetree die Dateien nach Github laden?
Du kannst mit „SourceTree“ an beide Gits pushen Das ist ja das geniale.
Du legst dir ein Projektverzeichnis an im SourceTree und dann der wichtige Teil >> 2 Remotes eintragen
Damit kannst du dann auswählen, ob du an GitHub oder an Bitbucket pushen willst
Ist ein wenig Gefummel, bis man verstanden hat wie SourceTree was macht, aber das hat man dann relativ schnell verstanden und schon kann man an beide pushen.
Noch mal eine Frage zu Bitbucket und Github. Ich führe am Bitbucket Repository kleinere Veränderungen und Bugfixes durch und setzte jeweils einen Commit um die Änderungen in IPS zu testen. Wenn ich jetzt später auch auf Github pushe kann ich dann dort nur bestimmte Commits pushen oder übernimmt bei einem Push Github immer alle Commits?
Ich würde gerne kleinere Bugfixes in Bitbucket durchführen und ein Commit dann auf Github nur veröffentlichen wenn grundlegende Funktionen ergänzt wurden. Ist dies möglich bzw. wie geht ihr dazu vor?
Ich pushe immer alle Tests auf Bitbucket und wenn ich mit der Version zufrieden bin, dann pushe ich diese zu GitHub. Dieser letzte Push beinhaltet dann immer auch alle davor (kann man auch in GitHub sehen die Tests), weil jeder Commit in der Historie gespeichert wird mit zu GitHub gepusht werden.
Willst du nicht, dass man diese Test-Commits sieht (mir persönlich ist es egal), dann darfst du die Tests nicht über Commits über Bitbucket machen, sondern nur über Änderungen direkt im Code. Oder, falls möglich, die Commits nachträglich zu einem zusammen mergen, glaube da mal was gesehen zu haben.
Nun da ich nicht unbedingt will das jede Änderung dann auch auf Github als Commit sichtbar ist wäre das mit dem mergen von Commits eine gute Sache. Kennt sich da jemand mit aus bzw. kann beschreiben wie so was geht?