Saltar para o conteúdo principal Saltar para a navegação Saltar para o rodapé
Por tempo limitado: Programa de Parceiro de Design. Plano BUSINESS grátis para sempre.

Ferramentas

Sincronização de ficheiros, acesso por terminal, integração com VS Code e atualizações do CLI.

Ferramentas

O Rediacc disponibiliza quatro ferramentas para o trabalho diário nas suas máquinas e repositórios: sincronização de ficheiros via SSH, terminal SSH, integração com VS Code e atualizações automáticas do CLI. Todas as quatro funcionam via SSH. Nenhum agente ou daemon é necessário no lado remoto. Se precisa de uma GUI para isto, está a procurar na página errada.

Sincronização de Ficheiros (sync)

Transfira ficheiros entre a sua estação de trabalho e um repositório remoto via rsync sobre SSH.

Enviar Ficheiros

--local aceita um ou mais caminhos. Cada caminho pode ser um ficheiro ou um diretório. Os ficheiros ficam em <remoto>/<basename>; o conteúdo de diretórios é fundido em <remoto>/. Para um único ficheiro, prefira --remote-file para indicar explicitamente o caminho de destino.

# Diretório (conteúdo fundido no remoto)
rdc repo sync upload -m server-1 -r my-app --local ./src --remote /app/src

# Ficheiro único colocado num diretório remoto (basename preservado)
rdc repo sync upload -m server-1 -r my-app --local ./config.yml --remote /app/conf

# Ficheiro único com caminho de destino explícito
rdc repo sync upload -m server-1 -r my-app --local ./config.yml --remote-file /app/conf/config.yml

# Várias origens numa só chamada
rdc repo sync upload -m server-1 -r my-app --local a.yml b.yml ./assets --remote /app

--remote e --remote-file são mutuamente exclusivos. --remote-file exige exatamente um caminho --local que aponte para um ficheiro.

--mirror não pode ser combinado com uma origem de ficheiro; eliminaria ficheiros adjacentes no diretório remoto.

Descarregar Ficheiros

Use --remote para um diretório (a predefinição) ou --remote-file para um único ficheiro. Os dois sinalizadores são mutuamente exclusivos.

# Diretório
rdc repo sync download -m server-1 -r my-app --remote /app/data --local ./data

# Ficheiro único -- --local deve ser um diretório existente
rdc repo sync download -m server-1 -r my-app --remote-file /app/conf/config.yml --local ./local-conf

Verificar Estado da Sincronização

rdc repo sync status -m server-1 -r my-app

Opções

OpçãoDescrição
-m, --machine <name>Máquina de destino
-r, --repository <name>Repositório de destino
--local <paths...>Um ou mais caminhos locais de ficheiro ou diretório (upload) ou diretório de destino local (download)
--remote <path>Diretório remoto (relativo ao mount do repositório)
--remote-file <path>Caminho de ficheiro remoto para uploads ou downloads de ficheiro único (alternativa a --remote)
--dry-runPré-visualizar alterações sem transferir
--mirrorEspelhar origem no destino, eliminando ficheiros extra (apenas origens de diretório)
--verifyVerificar checksums após a transferência
--confirmConfirmação interativa com vista de detalhe
--exclude <patterns...>Excluir padrões de ficheiros
--skip-router-restartIgnorar o reinício do servidor de rotas após a operação

Terminal SSH (term)

Abra uma sessão SSH interativa numa máquina ou no ambiente de um repositório.

Sintaxe Abreviada

A forma mais rápida de se ligar:

rdc term connect -m server-1                    # Ligar a uma máquina
rdc term connect -m server-1 -r my-app             # Ligar a um repositório

Executar um Comando

Execute um comando sem abrir uma sessão interativa:

rdc term connect -m server-1 -c "uptime"
rdc term connect -m server-1 -r my-app -c "docker ps"

Ao ligar a um repositório, DOCKER_HOST é definido automaticamente para o socket Docker isolado do repositório, pelo que docker ps mostra apenas os contentores desse repositório.

Subcomando Connect

Ou use o subcomando connect para o mesmo resultado, com sinalizadores explícitos:

rdc term connect -m server-1
rdc term connect -m server-1 -r my-app

Ações em Contentores

Interaja diretamente com um contentor em execução:

# Abrir uma shell dentro de um contentor
rdc term connect -m server-1 -r my-app --container <container-id>

# Ver logs do contentor
rdc term connect -m server-1 -r my-app --container <container-id> --container-action logs

# Seguir logs em tempo real
rdc term connect -m server-1 -r my-app --container <container-id> --container-action logs --follow

# Ver estatísticas do contentor
rdc term connect -m server-1 -r my-app --container <container-id> --container-action stats

# Executar um comando num contentor
rdc term connect -m server-1 -r my-app --container <container-id> --container-action exec -c "ls -la"
OpçãoDescrição
--container <id>ID do contentor Docker de destino
--container-action <action>Ação: terminal (predefinição), logs, stats, exec
--log-lines <n>Número de linhas de log a mostrar (predefinição: 50)
--followSeguir logs continuamente
--externalUsar terminal externo em vez de SSH inline

Integração com VS Code (vscode)

Abra uma sessão SSH remota no VS Code, pré-configurada com as definições SSH corretas.

Ligar a um Repositório

rdc vscode connect -r my-app -m server-1

Este comando:

  1. Deteta a sua instalação do VS Code
  2. Configura a ligação SSH em ~/.ssh/config
  3. Mantém a chave SSH para a sessão
  4. Abre o VS Code com uma ligação Remote SSH ao caminho do repositório

Listar Ligações Configuradas

rdc vscode list

Limpar Ligações

rdc vscode cleanup

Remove as configurações SSH do VS Code que já não são necessárias.

Verificar Configuração

rdc vscode check

Verifica a instalação do VS Code, a extensão Remote SSH e as ligações ativas.

Pré-requisito: Instale a extensão Remote - SSH no VS Code.

VS Code no Browser

Sem VS Code local? Sirva o editor a partir do sandbox do repositório e abra-o em qualquer browser:

rdc vscode connect -r my-app -m server-1 --browser

Este comando:

  1. Instala o servidor de editor open-source na máquina uma vez (caminho partilhado de só leitura, verificado por checksum)
  2. Arranca-o dentro do sandbox do repositório, para que a árvore de ficheiros, o terminal integrado e todos os processos filho vejam exatamente o que o repositório vê
  3. Abre um túnel SSH para uma porta local e lança o browser com um URL de token por sessão

O servidor continua a correr após fechar o túnel; reconectar reutiliza-o. Gira-o com:

rdc vscode serve status -r my-app -m server-1
rdc vscode serve stop -r my-app -m server-1
OpçãoDescrição
--no-openImprime o URL em vez de abrir o browser
--url-onlyImprime exatamente uma linha de URL em stdout (para scripting) e mantém o túnel
--local <port>Escolhe a porta local do túnel
--server-provider <id>Implementação do servidor de editor: openvscode (predefinição) ou code-server
--server-archive <file>Instala a partir de um arquivo pré-disponibilizado na máquina (sem internet necessária)

Funciona em Linux, macOS, Windows ou tablet. O único requisito local é um browser.

Atualizações do CLI (update)

Mantenha o CLI rdc atualizado.

Verificar Atualizações

rdc update --check-only

Aplicar Atualização

rdc update

As atualizações são descarregadas e aplicadas no local. O CLI escolhe automaticamente o binário correto para a sua plataforma (Linux, macOS ou Windows). A nova versão entra em vigor na próxima execução.

Reverter

rdc update --rollback

Reverte para a versão anteriormente instalada. Disponível apenas após uma atualização ter sido aplicada.

Estado das Atualizações

rdc update --status

Mostra a versão atual, o canal de atualização e a configuração de atualização automática.

Canais de Lançamento

rdc update --channel edge      # Atualizações de produção com entrega contínua
rdc update --channel stable    # Promovido do edge após 7 dias de estabilização (predefinição)
rdc update --status            # Mostrar canal atual e informação de versão