Remote Sessions
Wenn Sie Remote Sessions aktivieren, können Sie über GitHub Mission Control von Web- oder Mobilgeräten aus auf dieselbe Session zugreifen. Nach der Aktivierung wird die Session mit Mission Control verbunden, und es wird eine URL generiert, die sich als Link oder QR-Code teilen lässt. Wenn Sie die Session selbst nicht lokal oder auf einem eigenen Server, sondern in einer von GitHub gehosteten Umgebung ausführen möchten, verwenden Sie Cloud Sessions.Voraussetzungen
- Der Benutzer ist authentifiziert (GitHub-Token oder angemeldeter Benutzer)
workingDirectoryliegt in einem GitHub-Repository
Entfernte Konfigurationsoptionen
Das offizielle SDK 1.0.26 hat die Client-Optionremote, die Session-Option remoteSession und das CLI-Startflag --remote entfernt. Um eine Session zu teilen, aktivieren Sie sie bei Bedarf mit $session->rpc()->remote()->enable(). Die bestehenden RPCs für Remote Sessions funktionieren weiterhin.
Aktivierung pro Session (on-demand)
Um eine Session zu teilen, schalten Sie den Remote-Zugriff per RPC um. Das entspricht den CLI-Befehlen/remote on bzw. /remote off.
Mit einer bestehenden Remote Session verbinden (serverbezogen)
Um den CLI-Server mit einer bestehenden Remote Session zu verbinden, rufen Sie$client->rpc()->sessions()->connect() auf. Übergeben Sie die Remote-sessionId in ConnectRemoteSessionParams. Das Ergebnis enthält die SDK-seitige sessionId und die Metadaten der Remote Session.
Runtime-weites Remote Control (TCP-Modus)
Die Eigenschaftremote von RemoteControlConfig konfiguriert das runtime-weite Remote Control. Sie hat nichts mit der entfernten Client-Startoption remote zu tun.
Im TCP-Modus verwalten Sie über $client->rpc()->sessions() ein einziges Remote Control für die gesamte Runtime. Anders als das sessionbezogene remote()->enable() können Sie damit Remote Control starten, stoppen, zwischen Sessions übertragen und den aktuellen Status abfragen.
off, connecting, active oder error. Im Status active stehen außerdem frontendUrl und isSteerable zur Verfügung.
QR-Code-Generierung
Die erhaltene Remote-URL lässt sich als QR-Code an mobile Geräte weitergeben. Sie können BaconQrCode verwenden, das auch in Laravel Fortify eingesetzt wird.Hinweise
- Wenn
workingDirectorykein GitHub-Repository ist, kannremote()->enable()einen Fehler zurückgeben. - Konfigurieren Sie die Anmeldedaten (
github_tokenoderuse_logged_in_user) korrekt.
Referenzen
Aktuelle Informationen finden Sie im GitHub-Repository.