Header Ads

Como configurar implantações automatizadas em seus servidores com Visual Studio e FTP

O Visual Studio tem opções para publicar automaticamente sua versão de lançamento em servidores remotos por FTP. Isso pode ser muito útil se você estiver implantando alterações com frequência ou testando em um ambiente remoto. Mostraremos como configurá-lo e falaremos sobre como funciona.

Publicação via FTP

FTP é um protocolo antigo e geralmente inseguro, mas contanto que seu servidor FTP suporte as extensões modernas de FTPS, que usa criptografia TLS, não haverá problema. Você também pode fazer o chroot de seus usuários de FTP para que eles possam gravar apenas no diretório de destino.

Você pode ler nosso guia para configurar um servidor FTP para saber mais. Você vai querer ter certeza de que o FTPS está configurado e que o FTP normal está desabilitado.

RELACIONADO: Como configurar um servidor FTP Linux para transferências rápidas de arquivos

No entanto, nem todos os tipos de construção são suportados. Bibliotecas de classes, por exemplo, não têm opções de publicação. Os aplicativos ASP. NET Core têm melhor suporte e têm opções de publicação no Azure e Docker.

Felizmente, para os aplicativos que não são suportados, você pode conectá-lo sozinho, pois o Visual Studio também oferece opções para executar scripts PowerShell pós-compilação. Eles serão executados na compilação em vez de na publicação, mas você pode apenas configurar uma “ publicação ” personalizada; criar perfil com configurações de versão copiadas.

Publicidade

Você pode usar esses scripts pós-construção para fazer transferências FTP ou SCP ou até mesmo para se conectar a serviços externos como AWS S3 ou um Docker Registry.

Configurando o Visual Studio

Em build, você deve ver uma opção para publicar sua solução. Se você não vir isso, precisará pular para a opção de backup de usar scripts pós-compilação.

Você precisará fazer um novo perfil de publicação ou editar o padrão. Selecione FTPS Server, embora você possa publicar no Azure, Docker, uma pasta local ou implantação da web IIS se funcionarem melhor para você.

Insira os detalhes da conexão. Você precisará fornecer um URL, um caminho para onde ele será enviado e um nome de usuário / senha.

Em seguida, clique em publicar e você deverá ver a transferência no console após a conclusão da compilação. Se isso não acontecer, você receberá um erro ou um arquivo de registro onde poderá solucionar o problema.

Configuração de scripts de pós-construção para outros aplicativos

As opções integradas do Visual Studio são ótimas, mas quando não funcionam, você precisa fazer alguns scripts. Clique com o botão direito em seu projeto e selecione “ Propriedades ”:

Publicidade

Em seguida, em “ Criar eventos, ” você pode configurar um comando pós-construção. Observe que este é o cmd, então você &’ precisará chamar manualmente o PowerShell, e isso também tem como escopo a pasta de saída da compilação, portanto, se você estiver armazenando o script do PowerShell na raiz do seu projeto, você pode precisar fazer referência a alguns diretórios com .. \ .. \ .. \.

Configure-o para rodar na pós-compilação e você pode escolher se quer rodar o script sempre, sempre que tiver sucesso ou sempre que a compilação for atualizada. Se você estiver reiniciando os servidores ou algo assim, só deseja executar o script quando ele for atualizado. Caso contrário, selecione “ na construção bem-sucedida ” a menos que você tenha um motivo para estar executando o script quando a compilação falhar.

O PowerShell não tem suporte integrado para FTP. Você tem duas opções — usar PowerShell Remoting sobre SSH para transferir para um servidor Linux ou usar uma biblioteca PowerShell para FTP.

 $ s = New-PSSession -HostName 123.123.123.123 -UserName ubuntu Copy-Item. \ example. txt / home / ubuntu -ToSession $ s 

Se você precisar usar FTP, o WinSCP pode lidar com a transferência com bastante facilidade.

 Add-Type -Path "WinSCPnet. dll" $ sessionOptions = New-Object WinSCP. SessionOptions $ sessionOptions. ParseUrl ("ftp: // username: password@example. com/") $ session = New- Object WinSCP. Session $ session. Open ($ sessionOptions) $ session. PutFiles ("c: \ source \ *", "/ destination /"). Check () $ session. Dispose () 

Em ambos os casos, você &’ precisará certificar-se de que o seu script possui referências corretas para os locais de arquivo adequados. Se você clicar em “ Editar pós-criação, ” você verá uma janela listando todas as variáveis ​​que você pode passar para o seu script.

Nenhum comentário