Circle-CI Continuous Delivery with dokku

 

Objetivo

Este tutorial tem o objetivo de ensinar como configurar um sistema de Entrega Continua utlizando o Circle CI e o dokku.

 

Pré requisitos

O que é Continuous Delivery ?

Mãos na massa

  • Primeiro, iremos gerar uma ssh-key sem nenhum password e iremos salvar no arquivo deploy_key, digite no terminal:
   $ ssh-keygen -t rsa
  • Adicione a sua nova ssh-key PRIVADA no Circle CI
    • Dentro de seu projeto no Circle CI, acessa as configurações, e vá em  SSH Permissions,
    • Clique em add ssh, depois, em hostname digite o host onde está o seu servidor dokku, e em private ley digite sua private key.
  • Editar o arquivo circle.yml (caso não possua, crie um na pasta root do seu projeto)
machine:
  python:
    version: 3.5.1
dependencies:
  pre:
  - cp contrib/env-sample .env
deployment:
  production:
    branch: master
    commands:
      - git remote add deploy dokku@<ip server>:<app dokku name>
      - git push deploy master
  • Envie sua ssh-key PUBLICA para o dokku para autorizar o Circle CI a fazer o git push para o seu servidor.
cat <path to ssh-key>.pub | ssh root@<your.ip.address> "sudo sshcommand acl-add dokku [circle ci key]"

 

Ative o Circle CI, simplesmente fazendo um push para o seu repositório git. Para checar va no site do Circle CI e veja toda sua build sendo feita.

Está feito, agora tens um sistema de Entrega Continua configurado e funcionando!