Skip to content
icaro gavazza edited this page Jun 26, 2017 · 1 revision

OpenShift

Criando um projeto com Openshift

A nossa aplicação será hospedada no OpenShift. O OpenShift é um PASS (Platforma-as-a-Service) que permite aos desenvolvedores, de forma rápida, o desenvolvimento, hospedagem e a escala de suas aplicações em um ambiente cloud.

Para criar a nossa aplicação no ambiente do OpenShift é necessário executar o seguinte comando:

rhc app create ledszeppellin python-3.3 postgresql-9.2

Esse comando está informando ao OpenShift que desejamos criar uma aplicação com um o nome de ledszeppellin que use python 3.3 e postgresql 9.2 . Quando o criamos uma aplicação o OpenShift copia alguns arquivo para o máquina local. Esses arquivos não serão úteis para o nosso projeto. Assim, iremos apagá-los:

cd ledszeppellin
git rm -rf *
git commit -am "deleted project"

O próximo passo é usarmos um template de projeto que utiliza Django e Python, disponibilizado pela equipe do OpenShift, para o nosso projeto.

git remote add upstream -m master git://github.com/openshift/django-example.git
git pull -s recursive -X theirs upstream master

Observe que agora temos uma aplicação configurada para funcionar dentro do OpenShift. Para realizar o teste da nossa aplicação, basta executar o seguinte comando:

git push

Ao realizar o push no É importante comentar que o OpenShift trabalha de duas formas para gerenciar as dependências de biblioteas do projeto: (i) utilizando o arquivo de setup.py ou requirimentes.txt.

git remote rename origin openshift

Automatizando a entrega do produto com Travis e OpenShift

Agora que definimos todas as etapas de integração contínua e como vamos realizar os testes automaticamente, que tal pensarmos em como fazermos deploy automaticamente também? Em outras palavras, que tal apenas realizarmos o commit na master e o Travis ficar responsável por "instalar o software no servidor" ?

No caso do Leds, utilizamos o OpenShift para ser o nosso servidor de deploy. Para saber como utilizá-lo integrado com o Travis leia esse [tutorial]((https://blog.openshift.com/how-to-build-and-deploy-openshift-java-projects-using-travis-ci/). Aqui está um exemplo da nossa integração:

deploy:
  provider: openshift
  user: paulossjunior@gmail.com
  password:
    secure: 1HM8jbE0223srglawzCMMJd2666ACV9nR5qOheRtmny8qQk1sw18Lh5Q6o+FHsGE1HcbP8FyJ4z+TXmQVRjU5vC9Jn2y3LcHQEIjvbuLxKobDPgokCXGNZiCBoCjBzZeXlLStIVLo4g4UvoIbLvVWpkyWImtdQaMtmg26povTLXSFS1v+IP/0Cvj+/wRz3he6Li4dd2d8OlKBgvt5UmNuo5loGtmkHqvqU+wdMJjCSXdzNkJFsLaBlra1iHgD2g/kIG4+pCWFA+WEgt8JLNuru6H5JEeoApA9HO8Oda332w5N55Yx1QSpM+EIzjnjooCfksiUgyrz90WttlF3i36fTwNt/P3SRVEXviFqui6/j7Sn8og1uMzHCpuN9jxl0MBeEi07rlukDqY5/AgXDrhoSaBRnZCWdgDyglS6B555CuUg4wlYyBIQgMAFrztWJ80+WE/6V48cgVmOE/99CUItnwkqYepwcyA+avadwz2QYcfOcevdWEuehQnqmWMQIamSfh47wlaip0WG6hrefKPNMT07z4j+xvBYdZaW4JHQmkblhS//QYmBzAd/wq9L+7eH50P4AE6wAa67aUXeakP+5CSFvb+STuFkqDqXJXu9nB6gJmQIgxIiM0Sa2wg4GoV77WKEbrn2vOqhfJCyFwcwP7ci0lJy/9W1GV0oQgtMnQ=
  app: ledszeppellin
  domain: paulossjunior
  on:
    repo: LEDS/ledszeppellin
all_branches: true

Com a configuração acima, a aplicação é instalada no servidor do OpenShift toda vez que não houver problemas nos testes ou na qualidade do código.

That's all Folks.

Clone this wiki locally