Skip to end of metadata
Go to start of metadata


Há muitas maneiras de transferir arquivos do projeto com suas cópias no servidor de deploy. Este tutorial descreve como fazer o upload automaticamente com um servidor de deploy no PhpStorm, por exemplo quando uma sessão de depuração for iniciada ou alterações são "comitadas" ao controle de versões. 


Requisitos

Um servidor de deploy como configurado e descrito em Configuração e Deploy.

Sincronize suas mudanças

Assim como subir e baixar arquivos para, e de, um servidor de deploy, o PhpStorm pode também sincronizar mudanças. Para fazer isso use o menu de contexto em qualquer arquivo ou diretório ou em todo o projeto, usando a opção Deployment → Sync with Deployed to <nome do servidor>.... Isso irá disparar um diff entre o projeto no PhpStorm e o servidor remoto.

Por padrão, o diff é baseado no conteúdo dos arquivos. Opcionalmente isso pode ser alterado na barra de ferramentas para comparar os arquivos baseado no tamanho deles ou na data de modificação.

A partir deste diff, podemos selecionar o que irá acontecer aos arquivos selecionados. Nós podemos selecionar entre o upload ou download das mudanças do projeto para o servidor de deploy só usando o menu de contexto.

Icon

Se apenas mudanças específicas a um arquivo devem ser sincronizadas do servidor de deploy para o projeto, use a visualização de diferenças (diff), selecionando as mudanças que devem ser replicadas. Lembre-se que somente mudanças remotas podem ser baixadas parcialmente.

Uma vez que as ações de diff estejam configuradas, podemos usar os ícones na barra de ferramentas para sincronizar a seleção (Synchronize Selected) ou sincronizar tudo (Synchronize All).

Upload Automático

Requisito

Icon

O servidor de deployment deve estar configurado como servidor padrão para o projeto. Isso pode ser feito a partir das configurações (Settings) no item Deployment, selecionando o servidor e usando o botão na barra de ferramentas para fazê-lo padrão.


Quando um usuário precisa ter exatamente os mesmos arquivos no servidor como no projeto, o upload automático pode ser de grande ajuda. Upload automático siginifica que qualquer mudança salva no IDE é entregue ao servidor de deploy. A configuração é feita através de Project Settings →Deployment → Options, selecionando a opção Upload changed files automatically to the default server para Always ou On explicit save action.

  • Always significa exatamente o que sugere: o IDE enviará os arquivos independente de você invocar a ação de salvar com CtrlS ou pelo menu, seja pelo salvamento automático. Isto não é recomendado no cenário de deploys do desenvolvimento direto para produção: código incompleto pode ser subido durante o desenvolvimento, potencialmente quebrando a aplicação em produção_._
  • On explicit save action fará com que o upload só aconteça quando o arquivo for salvo manualmente escolhendo  File  Save all no menu ou usando o atalho CtrlS (CmdS no Mac)

Icon

Por padrão, somente arquivos alterados pelo IDE sofrerão deploy. Se os arquivos são alterados por qualquer outro processo, como uma mudança de branch no versionamento, transpilação de Sass ou LESS ou um observador de arquivos (File Watcher) - eles não serão entregues para deploy automaticamente. Para modificar este comportamento e fazer o "autoupload" nessa situação também, habilite a opção Upload external changes.

Assim que o upload automático acontecer o painel de transferências (File Transfer) irá lhe informar a respeito.

Upload Automático ao iniciar uma sessão de depuração

Trabalhando com uma aplicação PHP, podemos ter nosso código fonte entregue a um servidor de deploy automaticamente sempre que rodarmos a aplicação ou iniciar uma sessão de depuração a partir de nosso IDE. Isso pode ser muito útil trabalhando em um servidor de desenvolvimento, por exemplo, para ter a ultima versão do código quando rodamos ou depuramos nossa aplicação remotamente.

A partir da configuração de Execução/Depuração (Run/Debug Configurations), podemos adicionar uma ação a ser lançada antes da execução, Upload files to Remote Host.

Agora podemos especificar quais diretórios devem ser entregues para o servidor de deploy. Pode ser o projeto inteiro ou um subdiretório específico para a configuração de Execução/Depuração.

Upload automático ao comitar no versionamento

O PhpStorm pode subir os arquivos automaticamente ao ser "comitados" no versionamento, a partir da janela Commit Changes. O servidor alvo pode ser especificado e quando a opção Always use selected server estiver selecionada o upload para o servidor de deploy será sempre executada no commit.

Notificações de mudanças remotas

Ao trabalhar com o projeto local e o servidor remoto, poderíamos receber notificações se alguma mudança é feita remotamente, não? Podemos configurar isso nas configurações em Project Settings → Deployment → Options.

Há duas configurações que devem ser habilitadas:

  • Warn when uploading over newer file (Avise-me quando subir em um arquivo mais novo) permite-nos selecionar se queremos ser avisados se formos sobrescrever arquivos no servidor de deploy. Por padrão esta opção está desabilitada, mas podemos comparar arquivos baseados em sua data de modificação e tamanho, ou no conteúdo do arquivo. Precisaremos de uma dessas comparações ativas antes de podermos ligar as notificações de mudanças. A razão para isso é que o PhpStorm deve saber quando um arquivo é considerado alterado.
  • Notify about remote changes (notifique a cerca de alterações remotas): quando habilitado, seremos notificados sobre mudanças remotas que não estão no nosso projeto local.

Se abrirmos um arquivo no IDE que foi alterado no servidor de deploy, vamos receber uma notificação sobre isso. Podemos também mesclar as mudanças no nosso arquivo local ou simplesmente sobrescrever as mudanças locais baixando o arquivo remoto.


  • No labels