A menor implementação PaaS que você já viu. Foi essa frase que me chamou a atenção quando eu passava alguns links rotineiros e e-mails “weekly” que recebo. E fiquei mais pasmo que tudo isso é feito só com 100 linhas de #!/bin/bash
Realmente, é a menor implementação que eu já vi. Algumas das informações abaixo foram retiradas do site oficial.
A instalação é simples, e a Digital Ocean já prove uma imagem pronta para começar a usar. Testei com 4 tipos de aplicações, das mais comuns que lidamos no dia-a-dia como #DevOps que é: NodeJs, Ruby/Rails, Python e PHP, e obtive sucesso de deploy sem maiores problemas com essas aplicações. Utilizando apenas GIT + poucos comandos.
Vamos supor que já tenha seu Dokku rodando sem maiores problemas e já tenha o GIT instalado e configurado no seu computador:
Primeiro Passo
Execute um clone do WordPress em uma pasta do seu computador, no meu caso, em ~/projects/dokku-testes:
git clone [email protected]:WordPress/WordPress.git blog cd blog git remote add deploy [email protected]:blog #Adiciona um repositorio remoto e define o nome da aplicação como "blog" git push deploy master #envia para o repositório remoto "deploy" a branch master
Após isso, veja o retorno do seu console e acesse seu wordpress, pronto para iniciar a instalação do mesmo: http://blog.seuhost.com.br
-----> Cleaning up ...
-----> Building blog ...
-----> Adding BUILD_ENV to build environment...
-----> PHP app detected
! WARNING: No composer.json found.
Using index.php to declare PHP applications is considered legacy
functionality and may lead to unexpected behavior.
-----> No runtime requirements in composer.json, defaulting to PHP 5.6.1.
-----> Installing system packages...
- PHP 5.6.1
- Apache 2.4.10
- Nginx 1.6.0
-----> Installing PHP extensions...
- zend-opcache (automatic; bundled, using 'ext-zend-opcache.ini')
-----> Installing dependencies...
Composer version 1.0-dev (825b4b9c63a29c586d005de8dbbcfdfeb86bbf6f) 2015-01-20 16:39:06
Loading composer repositories with package information
Installing dependencies
Nothing to install or update
Generating optimized autoload files
-----> Preparing runtime environment...
NOTICE: No Procfile, defaulting to 'web: vendor/bin/heroku-php-apache2'
-----> Discovering process types
Procfile declares types -> web
Default process types for PHP -> web
-----> Releasing blog ...
-----> Deploying blog ...
-----> Running pre-flight checks
check-deploy: /home/dokku/blog/CHECKS not found. attempting to retrieve it from container ...
CHECKS file not found in container. skipping checks.
-----> Running post-deploy
-----> Creating new /home/dokku/blog/VHOST...
-----> Configuring blog.seuhost.com.br...
-----> Creating http nginx.conf
-----> Running nginx-pre-reload
Reloading nginx
=====> Application deployed:
http://blog.seuhost.com.br
To [email protected]:blog
* [new branch] master -> master
Para soluções como cache, banco de dados (relacional e não relacional), Queuing, process managers, nginx e outras coisas mais consulte os plugins já disponíveis.
Gostou do conteúdo? Tem alguma dúvida? Entre em contato com nossos Especialistas Mandic Cloud, ficamos felizes em ajudá-lo.