Melhor maneira de atualizar meu site (não crítico)? [fechadas]

1

De alguma forma, não consegui encontrar uma pergunta relacionada que me encaixasse.

De qualquer forma, eu corro um pequeno blog. Quando comecei meu blog, não tinha tráfego, agora ele recebe algumas centenas de visualizações por dia, daí a minha necessidade de um novo processo. Eu tenho meu site em um repositório mercurial (em bitbucket). Meu método anterior de atualizá-lo era fazer algo como

cd /srv/mywebsite
sudo svn update
sudo xbuild <release configuration options>

Eu sinto que fazer isso não é realmente o melhor caminho. Além disso, anteriormente eu estava usando o SVN, e para esta próxima atualização, eu converti para o Mercurial, então isso não funcionará tão facilmente.

Qual é provavelmente a melhor maneira de atualizar meu site simples?

Coisas para ter em mente:

  • Meu diretório de sites contém vários arquivos sem versão, como imagens que adicionei como parte do conteúdo do meu blog e como
  • Meu site é executado no servidor Arch Linux e usa mod_mono + Apache + MongoDB (embora as alterações do banco de dados sejam bastante raras)
  • Existe pelo menos um arquivo com versão que varia entre desenvolvimento e produção. Contém cadeias de conexão de banco de dados e outras configurações internas
  • O tempo de inatividade não é um grande problema, mas eu realmente tento evitar mais de 15 minutos por atualização

Certamente alguém tem que gerenciar uma configuração semelhante. Qual é a maneira mais fácil de fazer isso? (de preferência sem ter que "implantar" da minha máquina local e mesclar manualmente os arquivos de configuração)

    
por Earlz 03.10.2012 / 06:11

1 resposta

1

Eu tenho veiculado um site de entusiastas automotivos que obtém de 500 a 1000 exibições de página há cerca de 10 anos.

Durante a maior parte do tempo, tenho executado minhas atualizações via rsync. O núcleo é o Wordpress, mas o conteúdo não-WP é armazenado localmente e rsync'd para o host via rsync da minha máquina local.

O Rsync é bastante legal, pois permite que você exclua arquivos específicos, como o seu php.ini, mysql.cnf e arquivos de configuração específicos do ambiente, a partir da linha de comando.

Por exemplo, meu uso um pouco ofuscado:

rsync -rlptP ~/lcl/* username@webhost:/home/username/www/

Observação: não uso a opção '-a', pois isso inclui o usuário & grupo que são diferentes entre os sites.

    
por 03.10.2012 / 07:05