Git sencillo con SourceTree #2 Temario y objetivos

En esta ocasión quiero explicarte cual es el temario y objetivos del curso git sencillo para desarrolladores con SourceTree.

Es algo importante para que puedas saber si este curso te puede interesar o no. Espero que sea que si. Y si tienes alguna duda sobre el curso me la puedes dejar en los comentarios.

Lección Temario y Objetivos

https://youtu.be/Z82Wc-wM1yU

Transcripción de la lección

Como en la introducción del curso he comentado el objetivo de este curso es explicar enseñaros lo que es git de una forma muy muy didáctica.

Es el ejemplo que os puse es el ejemplo de la situación que yo quiero resolver, y a la que me dirijo en este curso. Que es que venga mi jefe y me diga: Iñigo tienes un compañero nuevo que en este caso serías tu y no sabe git, cuéntale lo que necesita saber.

Lógicamente en esas situaciones pues lo que se hace es dar unas explicaciones muy concretas, nadie se pone en plan academicista a explicar todas las opciones que tiene la herramienta, sino que bueno pues se va a explicar lo concreto, lo que se necesitan en el día a día, para que pueda funcionar en un proyecto.

En esas situaciones nadie pretende que te conviertas en el híper experto que sabe absolutamente todas las opciones y todos los parámetros que tiene la herramienta. Sino que lo que se quiere es ser capaz de producir, qué es lo qué estas en una empresa normalmente.

El temario del curso, bueno es el que aquí tenéis. Hay una primera parte en la que lo que hago es explicar que es git o porque git está tan de moda.

Es decir básicamente en vez de estar enumerando todas las cualidades, pues básicamente es un enfoque de decir bueno que es lo que le pido yo a un control de versiones.

Después de haber trabajado con diferentes controles de versiones en diferentes proyectos, de diferentes tamaños, diferentes tipos de equipos, bueno que es lo que yo le pediría a un control de versiones.

Y ahí se ve porque realmente git es tan bueno y está teniendo tanto auge.

Luego en el siguiente bloque ya entraríamos más en lo que es el uso del git. Vamos a ir viendo todos los conceptos necesarios con ejemplos prácticos de lo que necesitaríamos en el día a día en un proyecto y en el trabajo con un con un control de versiones.

Y luego para finalizar lo que hay es un bloque sobre los flujos de trabajo en git. Al final como git es tan bueno manejando ramas y mergeando entre entre las ramas, pues eso da pie a que se pueden hacer diferentes flujos de trabajo con la herramienta.

Entonces veremos todos los, bueno todos los flujos de trabajo no, los flujos de trabajo más típicos, porque realmente el flujo de trabajo que tú tienes con un control de versiones es la traslación directa de cómo es tu organización, de cómo es tu proyecto y cómo trabajas en él.

Osea cuando hay diferentes tipos de flujos de trabajo es porque hay diferentes necesidades. Entonces en un curso es imposible ver todas las opciones. Vamos a ver las más típicas porque realmente elegir un flujo de trabajo para una determinada organización o un determinado proyecto es más un trabajo de consultoría. De preguntar al cliente que es lo que necesita, como trabaja o como quiere trabajar y adecuar el control de versiones a ese a ese flujo

OpenShift: instalar Minishift

Vamos a instalar Minishift la versión local del OpenShift, el competidor de Docker Enterprise de Red Hat.

Que es minishift

Minishift es una versión del OpenShift Origin empaquetada en una máquina virtual para usar en entornos locales.

Normalmente es para hacer pruebas sin tener que instalar todo un cluster completo. También se puede utilizar cuando lo que se quiere es tener un openshift en local para no usar los openshift de los entornos productivos. Por ejemplo porque no tenemos buena conectividad con esos entornos.

Porque usar MiniShift

Creo que es una forma muy fácil de introducirse en el mundo del OpenShift y por extensión del empleo de contenedores Docker en entornos empresariales. Sobre todo teniendo en cuenta la fuerza que tiene el fabricante, RedHat, en el mercado empresarial.

Formas de instalación

Hay dos forma de instalar el Minishift. Nosotros vamos a optar por la mas sencilla que es utilizando VirtualBox. Porque sirve para todas las plataformas. Tanto Windows, como Linux y macOS.

Es una instalación muy sencilla de realizar, básicamente va sola, pero hay que saber ciertas cosas para arrancarla adecuadamente.

Arranque del MiniShift

El arranque del Minishift es bastante sencillo, pero hay que conocer algunos parámetros par poder realizadlo correctamente.

En otro video explicaré como poder facilitarnos el trabajo de arrancarlo ya parametrizado, para no tener que andar recordando la sintaxis de los parámetros.

Video instalar MiniShift

Como siempre os dejo el vídeo.

https://youtu.be/RcZW4ZRzl-Q

¿Te interesa OpenShift?

Si estás leyendo esta página la pregunta puede resultar un poco obvia. Estoy pensando en realizar un curso sobre OpenShift y si te interesa el tema estaría encantado de escuchar opiniones.

No tengas el más mínimo reparo es dejármelas en los comentarios. Si tienes alguna experiencia con OpenShift también me gustaría que la compartiésemos. Esta web no pretende ser un canal unidireccional sino bidireccional.

Git sencillo con SourceTree #1 Presentación

Como ya sabréis he creado un curso sobre git con un planteamiento muy sencillo y orientado a desarrolladores usando la herramienta SourceTree.

En esta entrada os dejo el vídeo y como no todo el mundo puede tener facilidad para poder ver un video en cualquier momento y lugar os voy a dejar también la transcripción.

Dejarme en los comentarios que os parece el tener disponible la transcripción. Y recordar que si os interesa el curso completo o alguno de mis otros cursos están a un precio muy ajustado en la página de cursos.

El audio de la lección

Si prefieres escucharlo en podcast

El vídeo de la lección

https://youtu.be/EnpGrVWs8hk

Transcripción de la presentación

Hola lo primero es presentarme soy Iñigo Serrano.

Soy el instructor de este curso sobre git. Soy un consultor técnico especializado en la optimización de equipos de desarrollo.

Podéis encontrar más información, aparte de este curso, tanto en mí web www.inigoserrano.com, en el que también trató otros temas referidos a la optimización de equipos de desarrollo. Y en youtube en el cual tengo videos también tratando este tipo de temas. Lo que pasa es que los vídeos de youtube, lógicamente son más un planteamiento de píldoras, de conceptos concretos, que no tanto este curso, en el cual el contenido está más estructurado.

Tiene un objetivo final y está todo más enlazado. Que no en las píldoras, que bueno, en ese aspecto son más conceptos un poco dispares y no tan conectados como en un curso como en este. Aparte que lógicamente en este curso podéis obtener un certificado, cosa que con los vídeos de youtube no vais a poder conseguir.

Este es un curso que es parte de una serie de cursos sobre git. Os podéis preguntar por qué está separado en cursos tan pequeños. La verdad es que como sabéis, o si no yo os cuento git básicamente simplemente es un control de versiones con línea de comandos. Y alrededor de esa línea de comandos han ido surgiendo un montón de herramientas que lo complementan.

Qué es lo que pasa. Pues que a veces te encuentras, yo por lo menos en mi experiencia me he encontrado con gente que prefiere trabajar con la línea de comandos, porque le resultaba más cómodo, dicen que son más productivos.

Luego en cambio hay otra gente que no se siente cómoda con una línea de comandos y prefiere interface gráfica, herramientas gráficas. Y dentro de las herramientas gráficas hay varias opciones. Hay gente que prefiere tener la herramienta de gestión del git dentro de su herramienta de desarrollo. Otra gente que no le importa tener una herramienta externa. Hay gente pues que viene del mundo del subversión y están acostumbrados a tortoise y se hallan más cómodos con esa forma de trabajo.

Y otra gente que prefiere otras herramientas como el SourceTree que son, por decirlo así, nativas de git, orientadas sólo a git.

Hay bastante peculiaridades y sería muy difícil en un único curso cubrir todas las opciones. Salvo que fuese un curso que se contasen las cosas en varias veces en diferentes herramientas con lo cual acabaría siendo bastante pesado.

Entonces me ha parecido que es mejor separar los cursos y ser más concretos. Es decir ver git con una herramienta, y con otra, de tal forma que os podáis hacer el curso que vayáis necesitando a vuestra media como si fuese un puzzle. Si os sentís más cómodo con la línea de comandos podéis ver el de la línea de comandos. Si os sentís más cómodo con otra herramienta pues podéis ir viendo ese curso en concreto de esa herramienta.

Lógicamente los cursos los iré sacando poco a poco, porque lleva un cierto tiempo el hacerlos.

Los cursos el contenido va a ser el mismo simplemente que en cada uno pues se va a ver con una herramienta o con la otra.

Podéis ver algunos ejemplos de las clases que hay para que os hagáis una idea de cómo es. Básicamente va a haber cierto contenido, poco, pero va a haber cierto contenido que es más teórico, en el que la presentación pues va a ser como esta en el que salgo yo explicando con un fondo.

Y luego hay otras selecciones que básicamente pues va a ser delante de un ordenador de la pantalla del ordenador en el que vamos a ir viendo cómo se hacen las cosas y explicando las cosas paso a paso.

Evolución sobre Docker: Openshift

Vamos a hablar de OpenShift como evolución de Docker.

Ya sé que no es una entrada típica porque os voy a hacer un anuncio/pregunta.

Antecedentes

Los que me seguís ya sabéis que llevo bastante tiempo metiéndome en el mundo de los contenedores, lo que popularmente conocemos como Docker.

Algunos incluso habréis cursado mi curso Docker sencillo para desarrolladores.

Algunos de los alumnos del curso me plantearon que lo ampliase dándole un enfoque más empresarial, más de despliegue de aplicaciones y no tanto para un entorno sencillo como puedes conseguir solo con Docker.

OpenShift, evolución lógica

Probablemente pensemos que la evolución lógica sea utilizar Docker Enterprise. Pero también existe otra opción, que es el Openshift.

Esta es la alternativa de Red Hat. Es decir son productos competidores. En mi caso y por mi trabajo yo soy más de Red Hat que de Docker. Por eso estoy metiéndome en la plataforma ofrecida por Red Hat.

Así que estoy empezando a preparar un curso con las cosas que voy aprendiendo. Va a ser un enfoque similar al curso de docker pero con Openshift.

Es decir muy práctico, como si entrases en mi equipo y tuvieses que ponerte a trabajar. Saber lo que se necesita en el día a día. Luego ya podremos ir profundizando.

Creo que es más sencillo dar el salto a soluciones empresariales con este planteamiento que desde Docker Enterprise.

¿Tienes alguna experiencia con Openshift o Docker Enterprise? Déjamela en los comentarios. Y si tienes algún tema de Openshift que te interese que trate en el curso también.

WordPress en Openshift, un blog en un periquete

Como instalar un WordPress en OpenShift para tener un blog en un periquete.

Motivación

Estoy mejorando este web poco a poco y el otro día tuve un problema de configuración. Así que necesitaba hacer alguna prueba. Lo típico instalar un wordpress limpio, probar y borrar.

Pero claro estando tan orientado a la optimización de equipos de desarrollo como estoy no era plan de hacerlo de cualquier manera.

WordPress en Openshift

Aquí es donde ha venido al rescate OpenShift. Básicamente porque me ha permitido tener un WordPress con su correspondiente base de datos sin apenas esfuerzo.

Lo único que hay que tener es un Minishift y la plantilla de WordPress en OpenShift.

OpenShift en la optimización de equipos

Este uso de wordpress es una muestra, muy pequeña, de lo que nos puede aportar OpenShift a la optimización de los equipos de desarrollo.

En muy poco tiempo hemos podido disponer de una infraestructura para usarla. Lo que mas ha tardado es esperar a que se bajasen las imágenes.

Y lo que es mas importante la podemos eliminar sin dejar rastro. No mas ordenadores lentos por tanta porqueria de instalar y desinstalarla programas.

Yo ya no instalo nada directamente en mi ordenador. Antes todo lo hacia a través de Docker y ahora usando MiniShift/OpenShift. Es infinitamente más cómodo.

Las plantillas de WordPress

Desde el punto de vista de un desarrollador toda la potencia está en tener las plantillas.

En este caso disponemos de una ya hecha que hemos podido utilizar directamente. Pero si necesitásemos personalizarla también podríamos.

Esta es la gran potencia de esta herramienta, la facilidad para disponer de infraestructura en un par de «botonazos».

Eso si para personalizar las plantillas es muy recomendable, por no decir imprescindible, conocer Docker.

Si no te manejas con los contenedores Docker tengo un curso en el que explico de forma muy sencilla los principios básicos. Te invito a echarle un vistazo.

Os dejo el vídeo

Aquí te dejo el vídeo para que puedas ver como tener un wordpress en un periquete.

OpenShift Login

Te quiero comentar en esta ocasión sobre el OpenShift login.

OpenShift Login

Lógicamente es el primer paso para usar el producto. El login en si mismo no tiene mucha cosa. Pero hay una característica que si quiero comentar o recalcar.

Como en el curso estamos utilizando minishift para que sea más sencillo el uso hay dos clientes.

Por una parte está el cliente de minishift y por otra parte está el cliente de openshift.

Para logearnos tenemos que utilizar el login del openshift y hay que configurarlo.

Esto es lo que os enseño en el video.

https://youtu.be/xerijcCkO_A

Pero si prefieres leer aquí seguido te dejo la transcripción. Y si te interesan estos temas y quieres profundizar un poco más no dejes de pasarte por mi página de cursos donde tengo más contenido.

La transcripción del vídeo

Bien hasta ahora lo que hemos visto es la instalación y un poco la configuración de lo que sería el minishift y el openshift.

Pero bueno nosotros realmente lo que queremos es logearnos. Tenemos dos formas.

Podemos hacerlo vía la consola. Nos han dicho en la instalación que se ha creado un usuario developer y que la seguridad está desactivada.

Con lo cual podemos poner cualquier password que va a dar igual.

Y bueno aquí ya vemos un poquitín lo que es la consola gráfica vía web de lo que es él openshift.

Vemos que efectivamente que hay creado.Que estamos logeados con el usuario developer y que bueno pues nos ha creado un proyecto por defecto.

Ya veremos más adelante lo que son los proyectos y todo. Un poco la terminología de lo que es el openshift.

Pero de momento vamos a centrarnos en el login. Y para hacer el logging con línea de comandos, porque a veces sí que es cierto que la mayor parte de las cosas se pueden hacer con la consola web.

Pero bueno esta es una herramienta que está muy pensada para automatizar tareas con lo cual tampoco tiene sentido que se hagan algunas cosas a mano.

Aunque sí que es cierto que con un minishift que tiene un planteamiento más de uso en local y de pruebas sí que te puede dar más pie a hacer las cosas manualmente.

Pero como digo lo normal es que se hagan vía línea de comandos y vía scripts.

Entonces pues lo que tenemos que hacer es con el oc login. Como se ha comentado aquí ya estamos utilizando, nos queremos logear en el openshift.

Entonces no tenemos que utilizar el cliente de minishift.

Ya hemos configurado para que en el path esté el cliente del openshift. Que es el oc.

Y tendremos que utilizar este. No tenemos que utilizar el minishift.

Y bueno es «oc login».

Nos dice por defecto, porque ya está configurada la url en la que está escuchando.

Ponemos developer y la contraseña bueno la misma. Y ya ésta. Nos dice que hemos hecho el login satisfactoriamente y que tenemos un proyecto a nuestro nombre que se llama myProyect que es el mismo que estamos viendo aquí.

Y qué bueno por defecto como sólo tenemos este proyecto, pues que por defecto, esta en este proyecto.

Si le pedimos el estatus pues lo que nos dice es que efectivamente estamos en el proyecto myprojet.

Con el nombre, porque hay diferencias. Luego ya lo veremos. En tal servidor, Que no tenemos ni servicios ni ninguna configuración de despliegue ni build config.

Y nos dice ya que no tienes nada, pues mira si haces «oc new app» te puedes crear una aplicación nueva.
Pero bueno de momento vamos a dejarlo así.

Con esto hacemos el login tanto en la parte consola administrativa web como por línea de comando.

Optimizar equipos con contenedores Docker

Vamos a seguir profundizando en como optimizar equipos de desarrollo.

Ya vimos en una entrada anterior que podíamos optimizar equipos mediante el concepto del aula invertida.  Con este planteamiento vimos que podíamos mejorar la formación de nuestro equipo para reducir los tiempos que necesitan para ser productivos.

Infraestructura

En esta ocasión vamos a tratar otra de las formas de malgasto de tiempo en nuestros equipos como es el tiempo dedicado a las infraestructuras, lo que popularmente se conoce como la «fontanería».

Visión histórica

Antiguamente cuando empezó toda esta arquitectura de aplicaciones basadas en el Web las aplicaciones solían ser bastante sencillas. Normalmente un servidor de aplicaciones y una base de datos y como librerías la de logs y el driver de acceso a base de datos. Y poco mas se usaba.

Hoy día en cambio las aplicaciones son bastante mas complejas, debido a que nuestros clientes nos exigen mas funcionalidades.

Porqué se dedica tanto tiempo a la infraestructura

El hecho de que las aplicaciones sean mas complejas y requieran de innumerables librerías, servidores de cache, de mensajería,  gestores de contenidos, de portales, etc, hace que la instalación de todas esas herramientas sea complejo.

En los entornos web normalmente el desarrollador suele tener la infraestructura instalada en su ordenador local. Lo que hace que los desarrolladores tengan que replicar todos esa infraestructura en su ordenador.

A proyecto mas grande, mas actualizaciones suele haber. Actualizaciones que el desarrollador tiene que incorporarse en su ordenador. Y al final si se hace a mano se dedica mucho tiempo.

Docker optimiza el desarrollo

Docker permite crear una infraestructura mediante una sintaxis muy sencilla y tenerla disponible para los desarrolladores, de tal forma que cualquier programador se pueda conectar al servidor de imágenes Docker, seleccionar la que necesite y bajarla a su ordenador.

Esto hace que sea relativamente sencillo distribuir a los desarrolladores servidores correctamente configurados para el proyecto en que se esté trabajando.

Con esta herramienta podemos reducir los tiempos necesarios para tener la infraestructura en local, tenerla documentada y de forma reproducible.

Formación en Docker

Si te interesa profundizar en Docker y lo que puede aportarte en la optimización del equipo de desarrollo, tengo un curso en Docker con lo que necesita saber un equipo de desarrollo sobre Docker.

Oh My zsh

Os traigo en esta ocasión un contenido mas técnico, quizá con un puntito friki, que tampoco creo que sea malo.

Es una línea de comandos para sistemas Unix/Linux, bastante mas moderna que el clásico bash, con funcionalidades muy interesantes, sobre todo si utilizáis el control de versiones git.

Pero creo que la mejor forma es que en vez de palabrería os lo enseñe en ejecución, así que os dejo el vídeo.

Curso Git sencillo: añadido a mis cursos

Después de mucho tiempo sacando ratos de aquí y allá, por fin acaba de ver la luz mi nuevo «curso git sencillo para desarrolladores con sourcetree».

Concretamente sobre Git utilizando la herramienta SourceTree de Atlassian.

Motivo del curso git sencillo

Como todas las herramientas potentes usar git si no se tiene un mínimo de conocimiento puede resultar desalentador. Bueno en realidad en todos los cambios de repositorio en los que he participado siempre ha habido problemas. Sobre todo por la tendencia de los compañeros a utilizar el nuevo repositorio como si fuese el anterior.

Es por ese motivo que me he animado a crear este curso, para facilitar esa transición a un nuevo control de versiones.

Enfoque

Por eso le he dado al curso un enfoque muy práctico, con las cosas que he visto que se necesitan y las dudas que surgen en el día a día.

Básicamente es como si empezases en mi equipo y te tuviese que contar los que hace falta saber sobre git para empezar a trabajar. Nada de Florituras.

También he añadido una sección un poco más avanzada sobre los flujos de trabajo.Lo que se conoce en ingles como workflow. Creo que es importante saber por lo menos los flujos más típicos. Creo que es algo que es especialmente interesante ya que su uso aporta mucha flexibilidad. Como siempre siempre que no se nos «vaya la olla»

Espero que os guste.

Os dejo el enlace, con cupón de descuento incluido.

https://www.udemy.com/git-sencillo-para-desarrolladores-con-sourcetree/

Y si estais interesados en más cursos no olvidéis pasaros por la página de cursos

Docker UI: Portainer, primer vistazo

Las personas que suelan utilizar Docker sabrán que la interface gráfica que trae por defecto, Kitematic, es un poco simple. Y la línea de comandos puede resultar un poco dura para ciertas personas.

Hay alternativas, como la que suelo utilizar yo, que es el plugin del eclipse. Que es ideal cuando utilizas para tu trabajo el Eclipse. El problema viene cuando no se usa habitualmente ya que es muy pesado abrirlo solo para manejar mas cómodamente el Docker.

Hoy os traigo una alternativa que se llama Portainer.io

Pero no me enrollo mas y os dejo el vídeo.