Qual é a melhor maneira de implementar um aplicativo no servidor remoto acessível apenas via scp?

1

Existe um aplicativo da Web que precisa ser implantado em um servidor remoto. Há um scp de acesso a este servidor, mas não há apenas ssh .

A pergunta que apareceu foi como implantar o aplicativo lá? Implantar, como executar um script preparado que faz algumas tarefas como atualizar o esquema de banco de dados, reiniciar o servidor, limpar caches, etc?

Uma coisa que me veio à mente foi copiar todos os arquivos via scp , depois pingar alguma URL na máquina de destino (como http://production.site.com/deploy - ou qualquer caractere aleatório lá) que dispararia um script de implantação por aí. Isso exigiria ter, provavelmente, algumas limitações baseadas em IP, assim, nem todos que entram nessa URL ativam o script de implementação (para evitar possíveis ataques do DOS).

Outra maneira seria colocar uma simples checagem no cron da máquina de destino e dispará-la a cada 1 minuto. Nesse caso, o processo de implantação ficaria assim:

  • copiamos o aplicativo inteiro para o servidor de produção e copiamos um arquivo específico, como deploy.it also
  • o trabalho cron verifica se deploy.it existe e deploy.lock não. Nesse caso, ele cria um arquivo de bloqueio ( deploy.lock ) e inicia um script de implantação.
  • depois que um script de implantação termina a execução, os deploy.it e deploy.lock são excluídos.

O que você acha dessas 2 ideias? Mais alguma idéia sobre isso também? Eu gostaria de encontrar o melhor (como o mais seguro possível para parafusos e de qualquer forma od DOSing o servidor de produção) maneira de implantá-lo ...

    
por kender 23.06.2009 / 09:50

2 respostas

1

Fazemos algo semelhante à sua primeira sugestão

Nós compactamos tudo, copiá-lo e, em seguida, fazemos ping em um site protegido por senha que só pode ser acessado internamente para descompactar a parte superior do site antigo. Nós executamos scripts SQL após a cópia zip, mas antes da descompactação.

De qualquer forma, você sugeriu que eles funcionarão, mas, como você mencionou, se você tiver um URL de implantação acessível externamente, é melhor ter certeza de que é seguro o suficiente.

    
por 23.06.2009 / 09:56
0

Sua primeira ideia envolve que a conta de usuário do servidor da Web tenha privilégios suficientes para executar a tarefa de implantação e que o servidor da Web não seja chrooted. Se esses requisitos forem cumpridos, acho que é uma boa ideia se o script for excluído após a conclusão.

    
por 23.06.2009 / 09:59

Tags