Olá! Nossa dica hoje tem relação com automação de deploys, utilizando o
Docker podemos criar um ambiente ágil para deploy tanto para testes, homologação, pré-produção ou até mesmo produção. Acompanhe!
1. Criando uma imagem
Primeiro temos que ter uma imagem do sistema, no nosso exemplo nós vamos criar uma a partir de um container, para isso, vamos criar o container:
# docker run -it centos /bin/bash
Com este comando criamos um container em modo iterativo, ou seja, é possível acessar o container e executar os comandos que desejar. Feito isso, vamos instalar o
Git,
Apache (ou
nginx, o que preferir) e o
PHP:
# yum install httpd php git -y
Feito isso, vamos agora criar um script para que quando um container for iniciado, utilizando essa imagem, ele possa se conectar em uma conta to GitHub e clonar o seu projeto, segue o script:
# vim /script.sh
#!/bin/bash
token=$1
name=$2
repository=$3
git clone https://$token@github.com/$name/$repository.git /var/www/html
/usr/sbin/httpd -DFOREGROUND -k start &
/bin/bash > /script.sh
Salve o arquivo e deixe-o com permissão de execução:
# chmod +x /script.sh
Agora basta criarmos a imagem baseado nesse container, para isso volte até o host (pode utilizar o atalho
Ctrl + p + q do teclado) e execute o comando:
# docker commit 1ca67f2f14ce nomedaimagem
O Docker criará a imagem baseada no container que acabamos de modificar, execute o comando abaixo para listar as imagens que estão em seu host agora:
# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
nomedaimagem latest bb270de71f33 1 second ago 230.7 MB
2. Gerando o Token de acesso
Para gerar seu token de acesso junto ao GiThub é bem fácil. Acesse:
https://github.com, logue-se com o seu usuário e senha do GitHub, em seguida vá até o ícone de seu usuário (geralmente fica à esquerda na página), navegue até Settings - Personal Access Tokens. Gere um novo Token e armazene essa informação para o próximo passo.
3. Iniciando o container
Depois de a imagem criada, basta criar o container ou containers que quiser:
# docker run -p 80:80 nomedaimagem /script.sh SEUTOKEN NOME REPOSITORIO
Agora acesse no navegador: http://ipdoservidor/ e ele carregará a página que você criou e salvou em seu repositório no GitHub, no nosso caso, nós criamos apenas uma index.php com um:
<?php echo "olá MundoDocker" ?>
Fácil não? Baseado nisso podemos evoluir muito mais, podemos por exemplo automatizar o deploy de aplicação mais complexas, blogs, e-commerce, etc. Mas isso fica para a próxima.
Que ver mais? Acesse:
E acompanhe as novidade de nosso blog!
Abraço!
Nenhum comentário foi encontrado.