Quantcast
Channel: Criação de Sites | Contagia - São José dos Campos - SP » Tecnologia
Viewing all articles
Browse latest Browse all 6

Organização do Ambiente de Deployment

$
0
0

Todos que trabalham com desenvolvimento de software web based ou criação de web sites muito provavelmente vão precisar usar um serviço de hospedagem para armazenar suas incríveis criações.

Este processo de envio dos arquivos locais que compõem seu projeto para o servidor que vai hospedar seu site ou sistema é comumente chamado de Deployment.

Software Deployment são todas as atividades que tornam um software disponível para uso (link para wikipedia).

Na grande maioria das vezes você vai contratar uma hospedagem compartilhada e vai enviar seus arquivos para o servidor com FTP. Mas este processo é lento e de baixa qualidade, principalmente na hora de atualizar os arquivos em pastas diferentes, onde você precisa ficar pulando de pasta em pasta para enviar os arquivos alterados. Isto é perigoso, pois os usuários podem acessar seu site durante este processo e acessar versões diferentes dos arquivos enquanto você atualiza o projeto.

Gerenciando suas Versões.

Um dos primeiros passos para melhorar este processo, é adotar um sistema de controle de versões, (VCS na sigla em inglês) que automatiza o trabalho de gerenciar as alterações de seus arquivos, organizando o seu trabalho e o da equipe, dando adeus àqueles arquivos com extensão .old ou .bkp que tanto vemos por aí. Eu recomendo fortemente o uso do Git que é o que usamos aqui na Contagia.

Com um gerenciador de versões, você pode fazer o deploy de seu projeto com apenas um comando. Ex.

$ git push origin master

Basicamente o comando acima vai enviar a versão atualizada dos arquivos em seu computador local para o servidor. Este é primeiro passo, e talvez seja o mais simples, para automatizar o processo.

Automatizando – de verdade – o Deployment

Geralmente ao atualizar um projeto você vai precisar alterar configurações de banco de dados, permissões de pastas e demais particularidades do servidor. Neste caso você vai acabar ainda tendo um trabalho manual de qualquer forma.

O próximo passo para deixar nossa vida ainda mais fácil é utilizar uma plataforma de deployment no formato PaaS (Platform as a Service). Que basicamente é um serviço de Cloud Computing com uma série de ferramentas para otimizar seu trabalho.

No universo PHP recomendo o pagodabox.com. Com este serviço você faz o deploy de sua aplicação com o Git, como no exemplo acima, mas através de um arquivo de configuração você pode especificar as ações que o serviço deverá tomar no momento do deploy. E o mais legal é que você tem uma conta grátis para testar bem o serviço ;)

O serviço também dispõe de pacotes pré-configurados para várias plataformas, como WordPress, Joomla, CodeIgniter, Laravel, entre muitos outros.

Além da automatização do deployment, o Pagoda Box dispõe de ferramentas para database, cache, workers e cron tabs. E com uma excelente interface de gerenciamento.

Resumo

É sempre importante revisarmos nosso processo de trabalho para pouparmos tempo em tarefas repetitivas e garantir o máximo de qualidade na hora de publicar a atualização, corrigir um bug ou lançar um novo projeto!


Viewing all articles
Browse latest Browse all 6

Latest Images





Latest Images