Hay 9 pasos a realizar para empezar a gestionar un proyecto de desarrollo con Git:
- Escoger alojamiento remoto
- Crear repositorio Git remoto
- Instalar y configurar Git en local
- Crear extensión AL
- Crear repositorio Git local
- Vincular el repositorio remoto con el repositorio local
- Configurar .gitignore
- Hacer un primer commit
- Subir el commit al repositorio remoto
Veamos cada paso con detalle.
1. Escogiendo un alojamiento Git remoto para nuestros proyectos
Git es un sistema de control de código fuente distribuido en el que coexisten múltiples copias del mismo código en distintas máquinas. Para que las múltiples copias se puedan sincronizar entre sí, una de ellas tiene que ser la copia principal, el origen, o lo que en Git se llama el repositorio remoto.
El repositorio remoto puede estar alojado en alguna de las webs más populares, como Azure DevOps, GitHub, GitLab o BitBucket, o puede estar alojado en algún servidor propio donde hayamos instalado alguno de estos servicios. Todos ellos tienen opcione
s gratuitas y opciones de pago. Deberás evaluar los planes que ofrece cada uno para poder decidir.
En ClipPlatform empezamos con Git hace 5 años utilizando Azure DevOps, puesto que en ese momento era el único servicio que nos ofrecía la posibilidad de tener repositorios privados utilizando el plan gratuito.,Eso lo hemos combinado con la utilización de GitLab desde hace un par de años, puesto que es el servicio que se utiliza en el proyecto en el que estamos trabajando actualmente. Y hace tan solo unos meses, desde la aparición del proyecto AL Go for GitHub con Business Central 2022 Release Wave 1 (BC20 para los amigos), nos hemos decantado por GitHub por varios motivos:
- Es ahora propiedad de Microsoft, igual que Azure DevOps
- Ahora en su plan gratuito también permite crear repositorios privados
- Microsoft utiliza GitHub para exponer de forma pública todo tipo de código relacionado con Business Central (la extensión AL Language de Visual Studio Code, muchas de las extensiones de Business Central, como la System Application, las extensiones de traducciones o las extensiones de Test, etc.). Incluso hay planes para publicar en GitHub la Base Application en el futuro.
- Con el proyecto AL Go for GitHub tenemos ahora la opción de hacer CI/CD de forma fácil y gratuita (o al menos el plan gratuito de CI/CD es suficiente para las necesidades que tenemos en ClipPlatform). En Azure DevOps también podemos hacer CI/CD para Business Central, pero si lo queremos fácil no es gratis, y si lo queremos gratis no es fácil.
2. Creando un repositorio remoto
Una vez escogido el alojamiento Git remoto, crearemos un repositorio Git para un proyecto en particular. En el caso de GitHub, crearemos una organización, iremos a la sección de Repositorios y utilizaremos el botón New repository.
Al crear un repositorio deberemos escoger:
- Un nombre para el repositorio
- Una descripción
- Si queremos que el repositorio sea público o privado
- Si queremos añadir un archivo README: en ClipPlatform no acostumbramos a tener un archivo readme en nuestros repositorios
- Si queremos añadir un archivo .gitignore: selecciona la opción None, puesto que a día de hoy no aparece en la lista ningún gitignore para el lenguaje AL. Este archivo lo crearemos manualmente más adelante con las opciones recomendadas para las extensiones de Business Central
- Si queremos incluir algún tipo de licencia que defina lo que otros pueden hacer con nuestro código
Una vez creado el repositorio, el propio GitHub nos dará varias opciones para empezar a añadir código:
- Crear un nuevo repositorio en local, vincularlo con el repositorio remoto y hacer un push del repositorio local
- Vincular un repositorio local ya existente y hacer un push del mismo
- Importar código de otro repositorio
Yo normalmente opto por crear un repositorio local, vincularlo con el remoto y hacer un push.
3. Instalando y configurando Git en local
Utilizaremos nuestros ordenadores personales como entornos de desarrollo. En nuestras máquinas es donde tendremos instalado Visual Studio Code y Business Central sobre Docker. Utilizaremos Visual Studio Code para hacer todo tipo de operaciones de Git (hacer commits, crear ramas, hacer merges, etc.), así que necesitamos tener Git instalado y configurado en nuestro ordenador.
Los pasos para la instalación y configuración de Git en local son muy sencillos:
- Descarga Git en https://git-scm.com/downloads
- Sigue las instrucciones del instalador. Te ofrecerá algunas opciones de instalación, pero con los valores por defecto hay más que suficiente. Personalmente, no acostumbro a cambiar nada cuando instalo Git.
- Abre una línea de comandos (el CMD de Windows, PowerShell o Git CMD) y ejecuta los siguientes dos comandos. Una vez lo hayas hecho, habrás establecido tu nombre y e-mail en una configuración global de Git.
- git config –global user.name “John Doe”
- git config –global user.email johndoe@example.com
4. Creando una extensión AL
En Visual Studio Code, utiliza el comando AL: Go! para crear una nueva extensión, o abre la carpeta de una extensión que ya tengas creada.
5. Creando un repositorio Git local
En Visual Studio Code, abre la carpeta de una extensión AL, ve a la sección de código fuente de Visual Studio Code y haz click en Initialize repository.
También puedes inicializar el repositorio ejecutando el siguiente comando en el propio terminal de Visual Studio Code: git init
Si navegamos a la carpeta de nuestra extensión AL con el explorador de carpetas de Windows, veremos que el sistema habrá creado una carpeta oculta llamada .git (es posible que no la veas y tengas que seleccionar la opción de Ver Elementos Ocultos del explorador de carpetas)
En este caso, la carpeta raíz del repositorio git es la misma que la carpeta raíz de la extensión AL, siendo este un proyecto de una única extensión. Es habitual que un proyecto de desarrollo de extensiones para Business Central contenga más de una extensión (y las queramos gestionar juntas), como por ejemplo una extensión principal y una extensión de test.
Querremos tener una carpeta raíz de nuestro proyecto, que será también la carpeta raíz de Git, y dentro tendremos varias subcarpetas, una para cada una de las extensiones.
6. Vinculando el repositorio remoto con el repositorio local
El propio repositorio remoto creado en pasos anteriores ya nos indica qué instrucciones debemos ejecutar para realizar la vinculación. Nos da varias opciones, entre las cuales subir un repositorio desde línea de comandos.
GitHub me propone ejecutar los siguientes comandos:
Yo opto por quedarme únicamente con el primero de los comandos, que añade a un repositorio git local un repositorio remoto al que llama origin y le pasa la URL donde está alojado el repositorio remoto.
Para ejecutar este comando, utilizo el propio Terminal de PowerShell de Visual Studio Code.
Las otras dos instrucciones crean una rama llamada main y suben los commits actuales al remoto que hemos llamado origin. Estas dos instrucciones no me interesan porque el repositorio local está acabado de crear y aún no tiene commits, de modo que no tengo nada a subir.
7. Configurando el archivo .gitignore
Con la creación de un archivo .gitignore en la carpeta raíz de un repositorio Git, podemos indicarle a Git que hay una serie de archivos o incluso carpetas enteras que no queremos gestionar.
En general, queremos gestionar todos aquellos archivos que son realmente código fuente. Con el lenguage AL, los archivos .al, más algunos archivos .json que definen nuestra extensión o la configuración de la misma, como el app.json o el settings.json.
Y en general también, queremos excluir aquellos archivos que son resultado de la compilación, como por ejemplo los archivos .app.
Algunas extensiones de Visual Studio Code crearán archivos temporales en nuestro proyecto. Estos archivos también los queremos excluir.
El archivo .gitignore que utilizamos en los proyectos en los que trabajamos desde ClipPlatform es:
*.app
launch.json
rad.json
*/.vscode/.alcache/
*/.vscode/.altemplates/
donde:
- *.app: queremos excluir todos los archivos .app, tanto el que se produce de nuestra extensión cada vez que compilamos, como los símbolos de las extensiones de las que dependemos
- launch.json: este archivo contiene la información local de conexión a una instalación de Business Central. Cada desarrollador tendrá su propia instalación, así que la información de este archivo será propia de cada miembro del equipo. No la queremos centralizar en un repositorio git
- rad.json: este archivo contiene la información de los objetos en los que ha estado trabajando un desarrollador, para permitirle hacer una publicación parcial con Rapid Application Deployment. De nuevo, la información de este archivo será propia de cada miembro del equipo y no la queremos centralizar en un repositorio git.
- */.vscode/.alcache/ y */.vscode/.altemplates/: algunas extensiones de Visual Studio Code crean archivos temporales en nuestro proyecto. Es el caso de las carpetas .alcache y .altemplates que crea la extensión AL Object Designer.
8. Realizando un primer commit
Visual Studio Code, en su sección de control de código fuente, nos indica que tenemos ahora mismo 2 archivos que deberíamos empezar a gestionar con Git.
Un commit es una foto actual del contenido de estos ficheros. Para realizar un commit, debemos aceptar los cambios, moviéndolos a un estado Staged, introducir un mensaje para el commit y darle al botón Commit.
También podríamos haber realizado estos pasos ejecutando los siguientes comandos:
git add .
git commit -m “Mi primer commit”
9. Subiendo el commit al repositorio remoto
Visual Studio Code, en su sección de control de código fuente, nos indica que la rama actual del repositorio local debería ser publicada en el repositorio remoto.
Para ello, solo tenemos que darle a Publish branch.
Si vamos ahora al repositorio remoto, veremos que los 2 archivos que teníamos en local están ahora también en el alojamiento remoto.
Hasta aquí este post con el que espero haberte ayudado a empezar a gestionar tu proyecto de desarrollo con Git. Como siempre. será un placer leer en comentarios tus aportaciones. Recuerda también que disponemos de un foro gratuito en el que puedes dejar tus dudas e incluso dar respuesta a las preguntas de otras personas.
🔵 ¿Quieres aprender más sobre Git? Apúntate gratis a nuestra masterclass 👇
Así de fácil. El próximo miércoles 23 de noviembre a las 15.30h celebraremos la masterclass gratuita “Git en el desarrollo de Business Central”. Una formación completamente gratis de 2h de duración a cargo de Cristina Nicolàs, fundadora de ClipPlatform y profesional internacional de Business Central.
¡No te quedes sin tu plaza y apúntate aquí!
Te esperamos

Comentarios