#2 Archivos del proyecto
Una introducción a las mejores prácticas de gestión de proyectos en la era de la IA.
Ahora, hemos comprendido la visión general de la IA. Sin embargo, para comenzar el desarrollo, primero necesitamos un entorno. Configuremos un entorno de desarrollo basado en el uso de la IA. En primer lugar, debemos decidir cómo gestionar los archivos del proyecto. El simple hecho de compartir archivos conlleva el riesgo de tener que volver a escribir el código desde cero si se comete un error. Esto sigue siendo válido incluso cuando se utiliza la IA, por lo que el control de versiones y la gestión de proyectos son inseparables en el desarrollo moderno.
En el pasado, el desarrollo comenzaba con el simple intercambio de archivos (NFS o NetBIOS), que luego evolucionó a través de CVS (desde ~1990) → VSS (desde ~1995) → Subversion (desde ~2000) → Git (desde ~2010) (estas líneas de tiempo son aproximadas). Preparé y configuré entornos para cada una de estas etapas. Históricamente, la configuración de entornos de repositorios (unidades para almacenar y gestionar archivos de proyectos junto con el historial de actualizaciones) requería una instalación o compra manual, junto con el establecimiento de entornos de copia de seguridad, lo que constituía una tarea importante. Hoy en día, GitHub es la elección indiscutible. (Ya que es gratis, jajaja)
【Acerca de GitHub】
Anteriormente, GitHub limitaba las cuentas gratuitas a un solo repositorio privado, pero ahora es ilimitado. Además, GitHub Actions ofrece hasta 2.000 minutos gratuitos al mes y el almacenamiento es gratuito hasta 500 MB.
Esto es maravilloso. Vivimos en una gran época. Por supuesto, también puedes iniciar un contenedor Gitea a través de Docker para crear un entorno Git local. Para proyectos grandes en los que no uso CI/CD, los gestiono en mi servidor local.
<¿Qué es CI/CD?>
Esta es una filosofía importante en el desarrollo codeless y basado en IA. En el pasado, los analistas de sistemas (SA) analizaban las operaciones comerciales y recopilaban los requisitos, los ingenieros de sistemas (SE) creaban las especificaciones y los requisitos de las pruebas, y los programadores (PG) escribían el código (conocido como modelo en cascada). En comparación con eso, hoy se siente como un mundo diferente. Al reflexionar sobre los altos costos de volver a las fases anteriores, los métodos modernos priorizan construir poco a poco y crecer paso a paso. Definamos los términos brevemente:
- CI: Integración continua
El proceso en el que los desarrolladores fusionan con frecuencia sus cambios de código en un repositorio compartido, activan compilaciones automáticas y ejecutan pruebas.
- CD: Entrega y despliegue continuos
Una práctica de automatización del código probado en la CI para que esté listo para ser lanzado manualmente a producción en cualquier momento, o la automatización del despliegue real en producción.
En pocas palabras, es un método para terminar un proyecto paso a paso mientras se verifica la interfaz de usuario y la funcionalidad. Anteriormente, los métodos se llamaban desarrollo ágil o DevOps (desarrollo + operaciones), pero el enfoque actual se siente aún más rápido. Es una combinación perfecta para la IA.
En la era de la IA, hay otro concepto clave que debes conocer: GitOps.
<¿Qué es GitOps?>
Este es una metodología de desarrollo centrada en un repositorio Git. Es el concepto de gestionar todas las definiciones de infraestructura, configuraciones de aplicaciones y despliegues de código en servidores de forma que tengan un control de versiones completo, lo que permite reversiones e historiales de auditoría completos. Centrar toda la información del proyecto en torno a esta fuente de verdad mejora enormemente la eficiencia del desarrollo, la tolerancia a fallos y los tiempos de recuperación rápida.
Una advertencia con respecto a GitHub en la era de la IA: como se explicó antes, las herramientas de IA personal utilizan los historiales de conversación para el entrenamiento. La información confidencial (passwords, tokens de acceso, etc.) debe mantenerse segura utilizando GitHub Secrets. Además, para las operaciones de GitHub, es mejor iniciar sesión previamente con el CLI de GitHub antes de delegar tareas a la IA.
Mal ejemplo:
$ git clone https://{username}:{Token}@github.com/{UserID}/{repository_name}.git
Aunque GitHub permite este formato, expone completamente tu token. Siempre debes ejecutar `gh auth login` de antemano para no tener que pasar las credenciales directamente a los comandos de Git. De lo contrario, se registrará el token en la URL remota, dejándolo visible para cualquiera, así que no asumas que es seguro solo porque un humano ejecutó el comando inicialmente.
Dado que numerosos sitios web explican cómo crear cuentas de GitHub y ejecutar comandos de clonación, omitiré esos detalles aquí. En primer lugar, tu repositorio (un conjunto de archivos de proyecto) se ha creado con éxito.