Remote Sessions
Remote Sessions를 활성화하면 GitHub의 Mission Control을 통해 웹이나 모바일에서 같은 세션에 접근할 수 있습니다. 활성화하면 세션이 Mission Control에 접속되고, 링크나 QR 코드로 공유할 수 있는 URL이 발급됩니다. 로컬이나 자체 서버가 아닌 GitHub 호스트 환경에서 세션 자체를 실행하려면 Cloud Sessions를 사용합니다.사전 조건
- 사용자가 인증되어 있을 것(GitHub 토큰 또는 로그인된 사용자)
workingDirectory가 GitHub 저장소일 것
제거된 설정 옵션
공식 SDK 1.0.26에서 클라이언트의remote 옵션, 세션의 remoteSession 옵션, CLI 시작 플래그 --remote가 제거되었습니다. 세션을 공유하려면 $session->rpc()->remote()->enable()로 온디맨드 활성화합니다. 기존 원격 세션 RPC는 계속 동작합니다.
세션별로 활성화(온디맨드)
세션을 공유하려면 RPC로 원격 접근을 전환합니다. CLI의/remote on 및 /remote off 명령과 동등한 조작입니다.
기존 원격 세션에 연결(서버 범위)
CLI 서버를 기존 원격 세션에 연결하려면$client->rpc()->sessions()->connect()를 호출합니다. ConnectRemoteSessionParams에 원격 sessionId를 전달합니다. 결과에는 SDK 측 sessionId와 원격 세션의 메타데이터가 포함됩니다.
런타임 전체 Remote Control(TCP 모드)
RemoteControlConfig의 remote 속성은 런타임 전체 Remote Control을 설정합니다. 제거된 클라이언트의 remote 시작 옵션과는 관계가 없습니다.
TCP 모드에서는 $client->rpc()->sessions()를 사용해 런타임 전체에서 하나의 Remote Control을 관리할 수 있습니다. 세션 단위의 remote()->enable()과 달리 대상 세션의 시작, 중지, 이전과 현재 상태 조회가 가능합니다.
off, connecting, active, error 중 하나입니다. active 상태에서는 frontendUrl과 isSteerable도 확인할 수 있습니다.
QR 코드 생성
취득한 원격 URL은 QR 코드로 만들어 모바일에 전달할 수 있습니다. Laravel Fortify에서도 사용되는 BaconQrCode를 사용할 수 있습니다.주의점
workingDirectory가 GitHub 저장소가 아닌 경우remote()->enable()에서 에러가 발생할 수 있습니다.- 인증 정보(
github_token또는use_logged_in_user)를 적절히 설정하세요.
참고
최신 정보는 GitHub 저장소를 참고하세요.