¿Nos mudamos a GitHub? Repos y secretos
En el post anterior, dábamos nuestros primeros pasos y hablamos de _users_ , organizaciones, teams… ¡ahora hablemos sobre repositorios, nuestros almacenes de código!
Al final estamos hablando de repositorios git, ahí no hay mucho misterio si llevamos tiempo picando código… pero hay detalles que GitHub nos ofrece y que merece la pena comentr.
_Esto es una serie de posts que pretende exponer y comparar poco a poco las_ features _de las dos plataformas. Si hay conclusiones, serán al final de la misma serie, y no dejarán de ser una opinión personal. Si hay errores, no dudes en hacérmelo saber en la sección de comentarios para corregir lo antes posible. Para saber si te conviene o no, habrá que recurrir al infalible método de ‘ensayo y error’. ¡Prueba y descubre!_
En este momento, ya has creado tu organización, invitado a _users_ , creado _Teams_ para organizar a las personas… es hora de operar con lo que nos trae aquí: ¡código!
Hablemos de repos, de lo que podemos gestionar en ellos.
Lo primero es lo primero, y es gestionar la visibilidad del proyecto. ¿Quién puede verlo o descubrirlo en el ecosistema de GitHub?
Invitando a gente, ya sea de forma individual o en Teams, siempre encontrarás en cada repositorio una sección de Settings:
Si hablamos de código para cliente o empresas, lo más normal es que las licencias con las que operes sean privativas. Pero en caso de que no lo sean, puedes elegir entre varias licencias que se ajusten a tus necesidades o demandas. Existen muchas y quizás complejas en el argot legal, pero aquí es donde entra la web TL;DR Legal, donde te simplifican los términos de licencias a la mínima expresión o a un lenguaje más sencillo al alcance de todo el mundo (o intentarlo al menos).
### Gestión y protección de ramas
Hay ramas intocables, que no deben ser eliminadas o recibir _merges_ sin validaciones o procesos varios de forma previa. Todas estas gestiones y más se hacen desde las _branch protection rules_, donde puedes poner requisitos para _merges_ , necesidad de firmado de _commits_ , resolución de conversaciones… Todo bien granulado para tener un control total (¡o el justo y necesario!).
### Sobre límites y herramientas varias
GitHub es amplio, pero tiene algunas limitaciones, como para los siguientes elementos:
* _Pull request_ s abiertos sobre la misma rama
* Gigas de subida en un mismo _push_
* Gigas totales para un repo
* Profundidad en la estructura de directorios
* Número máximo de repositorios para cuentas personales y organizaciones
Por si se te ha ido el dedo hacia el botón de delete… también existe la opción de restauración de repositorios borrados, porque los accidentes ocurren.
Puedes crear _templates_ o plantillas de repositorios, para después crear repos a partir de ellas. También, en caso de que lo necesites, puedes duplicarlos.
### ¡Esconde bien tus secretos!
Que de cosas para decidir solamente en cuanto al código en sí mismo… pero tal y como comentaba, en GitHub (y a diferencia de Azure DevOps) todo gira alrededor de los repositorios.
Porque no se trata solo de almacenar código y de forma segura. Es en repositorios donde también se congregan los secretos, _tokens_ y _keys_… que utilizaremos en las automatizaciones en forma de _workflows_. Pero exploraremos qué son a su debido momento y de forma dedicada.
### Y tantos otros elementos
Las Releases, o entregables, es lo más parecido que tenemos a Artifacts en Azure DevOps. Estos entregables se listan ordenados por fecha, incluyendo todo aquello que le especifiques en la generación. Ya sea el código empaquetado, ejecutables para diferentes plataformas destino…
También tenemos las Discussions, que podemos asociarlo a foros, donde se abren hilos de conversación para diferentes temas, que se pueden organizar por categorías. Si quieres que el conocimiento bien organizado a medida que se debate entre _users_ que tengan implicación… esta herramienta es de lo mejor. Y mucho más accesible que en conversaciones de Slack, Teams o Discord, por mencionar algunos.
Y no olvidemos los Issues, aunque de eso hablaremos en un futuro próximo, en otro post dedicado específicamente a ello. _Stay tuned!_
* * *
Son muchos elementos a tener en cuenta, muchas lecturas que hacer y sobre todo muchas conversaciones que tener con el equipo que va a integrar estas herramientas, usarlas en el día a día…
Pero espero con estas palabras señalar las posibilidades y tenerlas en cuenta para una migración… ¡o descartarla para futuros mejores!
¡Nos leemos!
### Comparte en tus redes:
* Haz clic para compartir en X (Se abre en una ventana nueva) X
* Haz clic para compartir en Facebook (Se abre en una ventana nueva) Facebook
* Haz clic para compartir en Reddit (Se abre en una ventana nueva) Reddit
* Haz clic para compartir en Tumblr (Se abre en una ventana nueva) Tumblr
* Haz clic para compartir en Telegram (Se abre en una ventana nueva) Telegram
* Haz clic para compartir en LinkedIn (Se abre en una ventana nueva) LinkedIn
* Haz clic para compartir en WhatsApp (Se abre en una ventana nueva) WhatsApp
* Haz clic para enviar un enlace por correo electrónico a un amigo (Se abre en una ventana nueva) Correo electrónico
*
Me gusta Cargando...
* Coding!