• Twitter
  • GitHub
  • Flickr
  • Skype
  • Contato

Blog

Docker, proxy e o erro Request Canceled - ERROR: Get https://registry-1.docker.io/v2/: Hi folks! Depois de um bom tempo sem publicar algo e para limpar as teias por...

Deploy para Amazon EC2 com GIT

No post anterior falei sobre o uso do SCP para deploy em ambiente Amazon EC2. Hoje comento aqui sobre a utilização do Git.
Vamos lá! Em seu ambiente local, será preciso criar um arquivo e adicionar as configuração do Amazon EC2 Server.

Copie sua chave de segurança para o diretório: ~/.ssh/
Depois crie:

$ sudo nano ~/.ssh/config

Adicione ao arquivo 'config':

Host Server-Amazon
Hostname ec2-198-51-100-1.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/chave-amazon.pem

Teste a conexão:

$ ssh Server-Amazon

Após rodar o comando acima, se tudo sair conforme o planejado até este momento, então estaremos conectados ao Amazon EC2 Server, aproveite e instale o Git.

$ sudo apt-get install git
$ git config --global user.name "Server"
$ git config --global user.email "server@server.com"

Criando o repositório no Amazon EC2 Server:

$ cd /home/ubuntu/
$ mkdir -p git-repo/meu-projeto-repo.git
$ cd git-repo/meu-projeto-repo.git
$ git init --bare

Agora iremos utilizar o git-hook 'Post-receive', que será responsável por copiar todos os arquivos do repositório bare para a pasta do projeto no ambiente de produção, onde o site vai rodar. Crie o arquivo 'post-receive' em /home/ubuntu/git-repo/meu-projeto-repo.git/hooks.

$ sudo nano post-receive

Adicione ao arquivo:
#!/bin/sh
GIT_WORK_TREE=/home/ubuntu/public_html git checkout -f

Logo depois, execute:

$ chmod +x post-receive

Atualizado:  'public_html' é o diretório criado em: '/home/ubuntu/public_html'. Um atalho foi adicionado no diretório '/var/www' e add em sites-enabled:DocumentRoot /var/www/public_html

Desconecte do Amazon EC2 Server. Em seu ambiente local, instale o Git, crie um repositório git local e envie para o ambiente remoto.

$ sudo apt-get install git
$ git config --global user.name "Local"
$ git config --global user.email "local@local.com"

Projeto local.

$ mkdir projeto
$ cd projeto
$ git init
$ git add *
$ git commit -m "commit inicial"
$ git remote add origin Server-Amazon:/home/ubuntu/git-repo/meu-projeto-repo.git
$ git push -u origin master

Para criar uma cópia de trabalho em um outro repositório local:

$ git clone Server-Amazon:/home/ubuntu/git-repo/meu-projeto-repo.git

Vlw! [],s :)