Como crear una aplicación contenerizada desde la cli con openshift (oc source-to-image)
Para este post, como ejemplo construiremos wordpress como nuestra aplicación en php, iniciando desde su repositorio git, construyendo la aplicación e incluso hacerle la modificaciones para volverla a publicar en openshift. Para este último punto lo ideal es hacer una bifurcación del master y cargarlo a nuestro repositorio git, en caso de no tener permiso para editarla directamente el repositorio maestro, posiblemente será lo más común.
- Debemos asegurarnos de hacer login en openshift, una forma de hacerlo es:
- oc login –token=sha256~qwefasdfa424 --server=https://api.sandbox.x8i5.p1.openshiftapps.com:6443
 
 
- oc login -u ebolges.com -p password https://api.sandbox.x8i5.p1.openshiftapps.com:6443
 
- Creamos un Proyecto
 
oc new-project wordpress
- Clonamos “Descargamos” el proyecto del repositorio git y creamos una bifurcación en nuestro proyecto, para mi caso tengo un Fork del proyecto master de WordPress https://github.com/wordpress/wordpress
 
#clonando el repositorio
git clone https://github.com/ebolges2/WordPress
git checkout master
#creando una bifurcación de la rama master
git checkout -b s2i
git push -u origin s2i
- Creamos la aplicación php con el comando oc new-app (source to image).
 
oc new-app –name app-wordpress -i php –context-dir=WordPress https://github.com/ebolges2/WordPress#s2i
- Revisamos los registro para y vemos que la compilación de la aplicación se completó y se implemento
- oc get all
 - oc get pods
 - oc logs -f dc/app-wordpress
 - oc logs -f app-wordpress-1-build
 
 - Exponemos el servicio y entramos a la aplicación
- oc expose service app-wordpress
 - oc get all
 - oc get routes
 - #abrimos el navegador bajo el resultado de la url expuesta
 
 
- En caso que necesitemos hacerle algún cambio a la aplicación podemos realizarlo directamente en el directorio donde clonamos la aplicación y le indicamos a openshift que vuelva a compilarla, bajo los mismos parámetros
- #entramos al directorio del código Fuente de nuestra app
 
 
cd WordPress
#hacemos los cambios en los archivos necesarios y lo cargamos.
git add .
git commit -m “hicimos cambio al archivo index y otros”
git push origin s2i
- #Le indicamos a openshift que vuelta a compilar la aplicación
 
oc start-build WordPress
- Revisamos la compilación y revisamos los recursos oc logs -f podname y oc get all
- oc logs -f app-wordpress-2-build
 - oc logs -f dc/app-wordpress
 - oc get all
 
 
- Entramos a la aplicación, revisamos de nuevo la ruta con los comando a y b
- oc get all
 - oc get routes
 - #abrimos el navegador bajo el resultado de la url expuesta a/b