Ligando o acesso remoto

O painel inicia um pequeno servidor web na sua máquina e um túnel rápido da Cloudflare na frente dele. O que isso inicia, o que precisa e como parar.

O que ele inicia #

O check-in remoto deixa você ler uma execução pelo celular, e respondê-la. O AutoDev serve o próprio plano em 127.0.0.1, e um túnel rápido da Cloudflare dá a esse plano um endereço público. O AutoDev não tem servidor para isso: o cloudflared é o cliente da Cloudflare, e o AutoDev o executa e lê o endereço na saída dele. Enquanto o acesso remoto está ligado, o que o celular lê e envia passa por esse túnel.

O túnel é opcional. Sem ele o plano continua rodando, mas só esta máquina o alcança.

Ligue #

No painel, abra o destino Config. Ele tem uma seção Remote access, e enquanto nada roda ela diz Off — nobody outside this machine can reach this project. Pressione Turn on remote access.

Isso inicia um servidor destacado e supervisionado, com um túnel e o nível de telemetria full. Ele usa a porta 8787, ou a porta e o token do último servidor quando houve um. Quando essa porta está ocupada, o servidor usa uma livre e grava um aviso serve.port_taken no log de eventos. O botão diz Turning on… enquanto trabalha, e a seção sai de Off quando o cloudflared anunciou um endereço, o que pode levar até um minuto num link lento. Ela então mostra o endereço como texto e como QR code, um código de pareamento quando você abrir um, e quantos dispositivos estão pareados. Pareando um celular trata do código.

O cloudflared precisa estar no seu PATH, ou nomeado em AUTODEV_TUNNEL_BIN. Ele é necessário para isto e para mais nada. Se estiver ausente, ou não anunciar um endereço, o servidor continua rodando só nesta máquina, e a linha de endereço mostra Tunnel unavailable — loopback only. O motivo é um aviso no log de eventos, serve.tunnel_failed. cloudflared ausente trata disso.

O túnel pertence ao supervisor do servidor, não ao processo do servidor, então um reinício desse processo mantém o mesmo endereço. Se o cloudflared sair depois, o AutoDev retira o endereço: a linha muda para Tunnel unavailable — loopback only, e um aviso serve.tunnel_down diz o motivo. Um túnel que caiu não é refeito sozinho. Desligue e ligue o acesso remoto de novo para ter um endereço novo.

Uma máquina, um servidor #

Uma máquina roda um servidor, e ele sobrevive à janela do editor que o iniciou, para que uma execução que você acompanha pelo celular não termine quando você fecha o editor. Isso também significa que o servidor pode estar mostrando um projeto diferente do painel que você está lendo. Quando está, a seção diz Showing <project>, not this project. e oferece Show this project instead. O menu do celular tem a mesma troca. Nenhum dos dois oferece iniciar um segundo servidor.

Depois de um reinício da máquina, autodev sem comando, rodado num projeto, inicia o servidor destacado de novo, na mesma porta, com o mesmo token e nível. Ele o inicia sem o túnel, então o endereço some até você desligar e ligar o acesso remoto. Enquanto um celular está pareado, suspendOnCompletion não suspende a máquina.

Desligue #

Pressione Turn off remote access. Isso para o servidor e o túnel juntos, então o endereço público não sobrevive ao plano para o qual aponta. Todo dispositivo pareado é esquecido com ele. Os limites do túnel diz o que isso revoga e o que não revoga.

Por um terminal #

autodev serve roda o mesmo servidor em primeiro plano, e --tunnel acrescenta o túnel. Ele imprime o endereço público, e o token quando o gerou, e diz que quem tem os dois pode conduzir a execução. Um servidor em primeiro plano termina com o terminal e não é iniciado de novo depois de um reinício. autodev serve --daemon o roda destacado e supervisionado como o do painel, e autodev serve stop o para a partir de qualquer projeto. O painel enxerga um servidor iniciado de qualquer um dos dois jeitos, e autodev serve pair abre um código de pareamento nele. Todos os comandos da CLI lista as flags, e O que você pode fazer pelo celular diz o que um celular pareado recebe.