Executando verificação de segurança...
1

Transformar seu ambiente desktop local em um ambiente de desenvolvimento remoto

Intordução =D

A primeira vez que eu me deparei com um ambiente de desenvolvimento remoto, foi no video do Filipe Deschamps:
Editor de Código sensacional para Programador Frontend, Backend ou Full Stack
Nesse video é mostrado, como funciona o gitpod, que é uma ferramenta incrivel que traz o seu ambiente de desenvolvimento para um navegador web, permitindo executar todo tipo de aplicação e até banco de dados por meio do terminal do gitpod.

Eu gostei muito dessa ideia de ter um ambiente na nuvem que independente de qual computador eu tivese, somente com internet e um navegador eu teria acesso a um ambiente completo de desenvolvimento.

O gitpod é uma solução muito interesante caso queira dar uma olhada nele, porem depois deu eu me deprar com alguns problemas, principalmente relacionados a execução de aplicações em java e limite de tempo na versão free, eu acabei desistindo de utilizar o gitpod, porem recentemente eu configurei um ambiente remoto baseado em um computador desktop meu sendo o servidor e executando a aplicação necessaria, e um notebook meu sendo o cliente, dessa forma eu tenho o meu proprio ambiente de desenvolvimento remoto sem depender do servidor na nuvem.

Eu fiquei muito satisfeito com o resultado então por isso venho aqui compartilhar ele com vocês.

Como funciona

Eu realizei o teste com duas ideas, o intellij e o vscode, utlizando essas ideas como cliente você consegue se connectar ao seu servidor via ssh e a integração funciona super bem, dessa forma todos os arquivos alterados do projeto ficam salvos somente servidor, o terminal do idea é totalmente integrado com o servidor, isso funciona tão bem que eu consigo começar a programar algo no meu notebook, e continuar ele no meu desktop sem precisar gerar um commit e push de um codigo incompleto por exemplo

Requisitos

  • Servidor Linux
    • (no meu caso é meu desktop principal rodando zorin os)
  • Acesso ssh configurado para o servidor
  • No cliente ter instalado ou o vscode ou o intellij
    • (Eu fiz os testes com os dois porem o vscode é muito mais leve tanto para o cliente quanto para o server)

Configuração do servidor

No servidor não precisa fazer muitas configurações de especial, é necessario que o computador em si tenha o acesso ssh habilitado para ele, caso você queira configurar o acesso ssh, é importante saber que para deixar esse acesso aberto fora da rede da sua casa, é necessario abrir uma porta oque pode ser a maior complicação para essa configuração.
Guia do 'Slackjeff' de como fazer configuração do ssh:
EXTREMAMENTE FÁCIL ACESSAR o SSH externo

Obs.: caso queira fazer essa configuração com um windows, acho que é possivel realizar utilizando o wsl2

Configuração do cliente

No cliente o sistema operacional é idependente, somente é necessario ter baixado ou o vscode ou o intellij.

Visual studio code

No visual studio code para se connectar ao seu servidor é necessario baixar o plugin: Remote - SSH da propria microsoft

instalado esse plugin, utilizando o ctrl + shift + p e pesquisar pela função nova: connect to host, depois de fazer a configuração colocando as informações do ssh abrira um novo vscode já connectado ao servidor. Você pode abrir seu projeto indo em arquivo > abrir pasta, ou abrindo um terminal no vscode navegando até a pasta do projeto e usar o comando code -r . isso ira abrir na janela atual o projeto.

Todos os plugins que você instalar connectado no ssh serão instalados no servidor, e executados no servidor, assim como a analise de codigo e download de dependencias tudo ira ser executado pelo servidor.

É possivel debugar de forma normal é fazer o redirecionamento de portas, caso você inicie uma aplicação na porta 8080 é possivel redirecionar essa porta 8080 do servidor para uma porta 8080 do localhost.

Jetbrains Intellij

Para a configuração do intellij é mais simples, pois não necessita instalar um plugin aparte, já vem integrado direto pela idea, basta iniciar a idea na quela tela principal, antes de abrir algum projeto, caso já tenha um projeto aberto va em file > close project, e nessa tela terá uma aba na barra lateral esquerda, que é Remote Development, e lá é possivel configurar a conexão ssh igual o vscode, após configurado e aberto um projeto, toda a analise de codigo compilação e execução é feita no servidor, enquanto o cliente funciona somente edita o codigo, no intellij como no vscode o codigo fonte fica 100% salvo no servidor o cliente somente acessa e edita esses arquivos

Conclusão

O mais interasente de utilizar dessa forma é que, o editor de texto continua estando instalado no seu cliente, oque permite utilizar todos os themas e todos os atalhos que existem na idea, você não precisa de um computador muito potente pois toda a parte de processamento sera feita no servidor e você não precisa se preucupar em salvar esse projeto, como no meu caso onde o meu desktop principal é o servidor é o cliente sendo o meu notebook que eu levo quando saio de casa, voltando para casa eu não preciso transferir os dados do notebook para o computador, basta eu abrir o projeto e ele já estara lá

Carregando publicação patrocinada...