Buscando artículos sobre "Openshift"
16-noviembre-2016
admin

Despliegue aplicación Spring-Boot en Openshift

En este tutorial vamos a explicar como se debe desplegar una aplicación Spring-Boot en Openshift. La aplicación correrá en un tomcat y utilizará como Base de Datos H2.

Creamos la aplicación en OpenShift. Para ello:
Paso 1: Nos registramos en https://www.openshift.com/
Paso 2: Creamos una aplicación que contenga un Tomcat 7 (JBoss EWS 2.0).



Instalamos y configuramos las Openshift Client Tools
Paso 1: Lo primero que debemos hacer es instalar Ruby, la versión que recomienda Openshift es la 1.9.3.
http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-1.9.3-p551.exe
(Cuando estamos instalando Ruby debemos marcar la opcion que dice Add Ruby executables to your PATH, para que se añada al Path del sistema.)
Para saber si tenemos Ruby añadido correctamente al Path, abrimos un terminal y ejecutamos:

ruby –v.

Paso 2: Instalamos la última versión de Git.
https://github.com/msysgit/msysgit/releases/download/Git-1.9.5-preview20150319/Git-1.9.5-preview20150319.exe
para comprobar si git también está bien instalado poedemos ejecutar:

git --version.

Paso 3: Instalamos las Client Tools (Openshift rhc).

//Para instalar las rhc sólo debemos escribir en nuestro terminal:		
gem install rhc
//A continuación, configuramos con:	 
rhc setup

Nos pedirá logarnos con nuestras credenciales. Al introducirlas, si son correctas el sistema de configuración nos indicará que va a crear un Token para que podamos acceder a OpenShift sin necesidad de colocar nuestras credenciales de acceso, este Token se guardará en nuestra carpeta de usuario en una carpeta llamada .openshift.



Generando War
Usando maven se puede hacer directamente por la consola con:

mvn clean package


Desplegando WAR en OpenShift
Paso 1: Primero debemos crear un SSH public key para poder acceder al servidor por ssh. Se crean desde la propia consola web de Openshift. O usamos la que nos ha creado por defecto openshift en nuestro directorio de usuario cuando se instaló rhc.
Si queremos crear una nueva podemos crearla con el Putty Key Generator. Luego se debe añadir en el openshift a través de la consola web.
Paso 2: Descargamos el repositorio git.
Paso 3: Borrar la carpeta src y el pom.xml
Paso 4: Colocamos nuestro WAR en la carpeta webapp
Paso 5: Editar el archivo server.xml que está en .openshift/config/server.xml. Buscamos el siguiente conector y en el redirectPort pone 8443, le quitamos el 8 y guardamos.
Paso 6: Al archivo .openshift/config/context.xml le añadimos la siguiente Valve:

< Valve className="org.apache.catalina.valves.RemoteIpValve" protocolHeader="x-forwardedproto"/>

Paso 7: Hacemos commit y push
Paso 8: Reiniciamos el servidor.



Base de datos H2
Se debe colocar el fichero de bd en app-root/data y darle permisos de lectura y escritura.

5-diciembre-2014
admin

Instalación de Django Rest Framework en Openshift

En primer lugar decir qué es Openshift:
«OpenShift es un producto de computación en la nube de plataforma como servicio de Red Hat.
Este software funciona como un servicio que es de código abierto bajo el nombre de «OpenShift Origin», y está disponible en GitHub.
Los desarrolladores pueden usar Git para desplegar sus aplicaciones Web en los diferentes lenguajes de la plataforma.
OpenShift también soporta programas binarios que sean aplicaciones Web, con tal de que se puedan ejecutar en RHEL Linux. Esto permite el uso de lenguajes arbitrarios y frameworks.
OpenShift se encarga de mantener los servicios subyacentes a la aplicación y la escalabilidad de la aplicación como se necesite.
» wikipedia

A continuación, se exponen los pasos a seguir para utilizar Django Rest Framework en Openshift

1/ Instalar las OpenShift Client Tools (rhc).

Algún comando de interes que podrá ser útil en el futuro:
– Para configurarlo se debe ejecutar: rhc setup. Nos pedirá login y password de openshift y nos permite crear una clave pública para luego conectar por ssh.
– Conectar ssh a tu aplicación: rhc ssh < app-name>
– Una vez conectado podríamos reiniciar la aplicación con: ctl_app restart
– Hacer log de la aplicación: rhc tail -a < app-name>

2/ Crear una aplicación Django que corra con python 2.7. Una de las formas de hacerlo es mediante el comando:

rhc create-app < app-name> python-2.7 --from-code 
               git://github.com/rancavil/django-openshift-quickstart.git

Si todo va correctamente en la consola te saldrá algo similar a esto:
URL: http://< app-name>–< usuario-openshift>.rhcloud.com/
SSH to: abcabcabcabcabcabc@< app-name>–< usuario-openshift>.rhcloud.com
Git remote: ssh://547b176b5973ca04c6000139@< app-name>–< usuario-openshift>.rhcloud.com/~/git/< app-name>.git/
Cloned to: C:/prueba/< app-name>

< app-name> = nombre deseado para tu aplicación.
< usuario-openshift> = tu usuario en openshift

Como nota decir, que me ha creado una copia de la aplicación creada en C:/prueba/. Esto es porque he ejecutado el create desde dentro del directorio c:/prueba/

3/ Instalar un cliente GIT. En mi caso, para windows utilicé Git Bash. Luego los cambios se subirán así:

git add .
git commit -m 'My changes'
git push

4/ Cambiar la contraseña de django

source $OPENSHIFT_GEAR_DIR/virtenv/bin/activate
export PYTHON_EGG_CACHE=$OPENSHIFT_GEAR_DIR/virtenv/lib/python-2.6
python $OPENSHIFT_REPO_DIR/wsgi/openshift/manage.py changepassword admin

Tras este punto ya podríamos conectarnos a la consola de administración de django mediante la url:
http://< app-name>–< usuario-openshift>.rhcloud.com/admin

5/ Añadir Django Rest framework. Para ello nos conectamos con rhc ssh < app-name> y ejecutamos:

pip install djangorestframework

6/ Tras eso ya podremos utilizar Django Rest Framework. Ejemplo de uso:

Añadir en settings.py

INSTALLED_APPS = (
    ...
    'rest_framework',
)

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAdminUser'
    ]
}

Cambiar nuestro urls.py por:

from django.conf.urls import patterns, include, url
from django.contrib.auth.models import User
from rest_framework import serializers, viewsets, routers

# Serializers define the API representation.
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'is_staff')


# ViewSets define the view behavior.
class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer
	
# Routers provide a way of automatically determining the URL conf.
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    url(r'^$', 'views.home', name='home'),
    url(r'^admin/', include(admin.site.urls)),

    url(r'^rest/', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
)

7/ Subir los cambios por Git y para comprobar que ahora tenemos activa esta url:
http://< app-name>–< usuario-openshift>.rhcloud.com/rest

Fuente 1
Fuente 2

Categorias

Linkedin