
Para que serve? Se encaixa na sua necessidade?
Se você precisa constantemente fazer deploy da sua aplicação de maneira segura (rodando os testes antes) então o Codeship pode ser o caminho para você. Ele detecta quando você faz um git push para a branch de sua escolha, roda os testes que você deixou pré definidos na plataforma dele e se os testes passarem ele faz o deploy para o servidor de sua preferência como por exemplo Aws, Heroku ou algum servidor particular via capistrano ou script personalizado. Sim é bem legal e tem um plano free!
O que vamos aprender?
Como integrar nosso projeto (rails, mas você pode user outros frameworks 🙂 ) com o Codeship para poder fazer os testes e o deploy automaticamente para o Heroku.
Ingredientes
- Ruby 2.3.1
- Rails 5
- PostgreSql
- Heroku (Free 🙂 )
- Codeship
Objetivos (Passo a Passo)
- Criar um projeto usando Rails 5
- Criar um repositório no Github para o nosso projeto
- Criar um App no heroku
- Criar uma aplicação no Codeship e fazer o Deploy (e testes)
Mãos a Obra \o/
Criar um projeto usando Rails 5
- Para instalar usando Rails 5, rode no terminal:
1gem install rails - Verifique se a versão do Rails é realmente a 5 rodando:
1rails -v - Crie o projeto, rodando:
1rails new codeship --database=postgresql
*O postgresql é obrigatório porque o Heroku não aceita o sqlite3, então garanta que você tem ele instalado na sua máquina, caso não tenha instale. - Agora crie um controller, rodando:
1rails g controller home index - Vá até o seu arquivo config/routes.rb e substitua o conteúdo por:
1234Rails.application.routes.draw doget 'home/index'root to: 'home#index'end - Coloque seu user e password do postgreSql no arquivo config/database.yml:
- Crie o banco de dados rodando:
1rake db:create - Agora rode o app e acesse o http://localhost:3000 para ver o conteúdo:
1rails s
O resultado deve ser este:
- \o/ Pronto nosso App de teste está pronto, vamos para o próximo passo.
*Como de costume se você quiser acessar o código completo desse pequeno App para referência, acesse esse link.
Criar um repositório no Github para o nosso projeto
- Acesse esse -> link <- para o Github e entre na sua conta ou crie uma.
- Na página principal do Github clique em “New Repository”
- Agora escolha um nome para o seu repositório e clique em “Create Repository”
is there another dating site like pof - Agora na pasta do projeto que criamos no passo anterior, vamos iniciar o git rodando:
1git init . - Agora vamos adicionar as nossas mudanças, rodando os dois comandos:
12git add .git commit -m 'Project Created' - Para conectar a pasta com o Github, rode esse comando substituindo SEU_USUARIO pelo seu usuário no Github e NOME_DO_SEU_PROJETO pelo nome do projeto que você criou no Github.
1<span class="user-select-contain">git remote add origin <span class="js-git-clone-help-text">https://github.com/SEU_USUÁRIO/NOME_DO_SEU_PROJETO.git</span></span> - Pronto, estamos chegando lá \o/.
Criar um App no Heroku
- Acesse esse -> https://onebitcode.com/dating-sites-for-over-50-in-cape-town/ <- para o Heroku e entre na sua conta ou crie uma.
- Agora, no seu dashboard clique no botão “New” depois “Create App”
- Agora escolha um nome e clique em “Create App”
- Agora acesse o link para o “Account” clicando aqui.
- Vá até “Api Key” e guarde a chave para usarmos em breve
- \o/ Pronto, vencemos mais uma etapa.
Criar uma aplicação no Codeship e fazer o Deploy (e testes)
- Acesse esse -> link <- para o Codeship e entre na sua conta ou crie uma usando o Github.
- Agora crie um projeto clicando em “Projects” na barra superior depois em “Create a new Project” ou outro botão que esteja disponível nesse sentido.
- Agora clique no simbolo do “Github”
- Coloque a URL para o seu projeto no Github e clique em “Connect”:
- Agora na tela que apareceu você pode configurar seus testes, build e etc, vamos lá.
- Primeiro escolha a sua plataforma, no caso desse exemplo, ruby on rails:
- Agora em “Setup Coomands”, você pode escolher os comandos para preparar o seu App, como por exemplo rake db:migrate (no exemplo vamos deixar o default)
- E finalmente, em “Test Commands” você pode colocar os comandos para rodar os testes da sua aplicação como por exemplo “bundle exec rspec” (no exemplo vamos deixar o default)
- Agora clique em “Save and Go to Dashboard”
- Pronto, na tela que apareceu clique em “Project Settings” e depois em “Deployment”
- Agora escolha a branch “master” e clique em “Save pipelines” settings.
- Essas são as opções de deploy, escolha o Heroku.
- Agora coloque o nome do App que você criou no heroku e depois aquela chave que pegamos no heroku e que eu disse para você guardar que usaríamos em breve, esse é o momento meu caro :), depois clique em “Create Deployment”
- Pronto, o resultado deve ser este:
- Agora vá para o dashboard do seu projeto clicando no link a baixo do menu do lado esquerdo (seu_user/nome_do_seu_projeto):
- Você deve ver que o codeship agora está esperando pelo seu git push para poder rodar os testes e fazer o deploy, vamos lá:
- Agora para ativar o trigger do codeship, vamos fazer o git push, rode:
1<span class="user-select-contain">git push -u origin master</span>
*Caso ele peça suas credenciais, use as mesmas do Github. - Pronto, agora vá até o seu dashboard no Codeship e note que ele está rodando “running” os builds, testes e o deploy.
- Agora existem dois caminhos, ou tudo vai dar certo e ele vai fazer o deploy, ou ele vai falhar por algum motivo simples de corrigir como por exemplo, você pode ter colocado suas credenciais do heroku incorretamente ou até mesmo o nome incorreto do seu app do heroku. Outras causas de erro podem ser por exemplo os testes da sua aplicação que rodaram mas não passaram (os testes falharam) ou o seus builds tiveram algum problema.
De qualquer forma, você só precisa alterar no seu App do codeship no menu “Project Settings” seus builds, ou testes ou informações para o deploy. - \o/ Pronto ele fez o deploy.
- Agora acesse a URL do App que você criou no heroku “https://NOME_DO_SEU_APP.herokuapp.com/”, no caso desse exemplo https://codeshipexample.herokuapp.com/.
- Parabéns, nós conseguimos 🙂

Não perca nenhum conteúdo
Receba nosso resumo semanal com os novos posts, cursos, talks e vagas o/
Conclusão
Usar o Codeship pode fazer a diferença no seu dia a dia de programação e te economizar muito tempo e paciência.
O Codeship tem muitas opções de deploy e te permite fazer uma infinidade de testes, então explore um pouco mais a plataforma e compartilhe suas opiniões e dúvidas comigo ou comentando aí em baixo ou me adicionando no Facebook (clicando aqui).
Se você não viu o Screencast de ontem sobre o Action Cable, clique aqui e assista “COMO CRIAR UM CHAT EM TEMPO REAL USANDO ACTION CABLE (RAILS 5)” 🙂
Muito Obrigado,
Sua atenção é uma honra para mim.
Leonardo Scorza
Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!
O OneBitCode traz conteúdos de qualidade, e em português, sobre programação com foco em Ruby on Rails e também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!
Fique por dentro de todos os conteúdos o/
Nossas redes sociais:
📹 • https://youtube.com/Onebitcode [Live todas as terças-feiras às 19h)
💻 • https://linkedin.com/company/onebitcode
🙂 • https://facebook.com/onebitcode
📱 • https://instagram.com/one_bit_code
🐦 • https://twitter.com/onebitcode
Nossos cursos:
🥇 • Programador Full Stack Javascript em 8 Semanas
💎 • Curso Completo de Ruby
⚙ • Minicurso: API Rails 5 Completo
🐞 • Minicurso de Testes para Ruby on Rails com RSpec
Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
Estamos aqui para você 🙂
Bem-vindo à família OneBitCode o/