Clonar una aplicación

Requisitos
Distribución linux y un usuario con permisos de administrador (sudo)
Contar con cuenta github
Tener git instalado
URL del repositorio git
Información específica del proyecto (Con qué bases de datos y/o tablas se debe contar, configuraciones de servidor, versiones específicas de librerías, etc.)
Consideraciones
Puedes clonar aplicaciones de diversas formas, lo más fácil es tener acceso a la carpeta del proyecto actualizado y con git configurado, solo habría que copiar la carpeta a otro servidor o computadora para trabajarlo.
También, puedes descargar la carpeta desde github y ubicarla en tu equipo.
O, puedes usar las herramientas de github desktop o la terminal.
En esta sección se describirá la clonación con uso de la terminal por lo que deberás tener tu distribución linux y un usuario con permisos de administrador (sudo)
Procedimiento
Abre la terminal y navega a la ruta en la que alojarás el proyecto, esto usualmente se hace en la raíz del servidor apache (/var/www) pero puedes hacerlo en tu carpeta home (/home/usuario).
cd /var/www/
Ejecuta el comando git para clonar el proyecto
git clone https://github.com/midudev/libros-programacion-gratis.git
💡Si estás tratando de clonar un repositorio privado, deberás tener a la mano un token de acceso github. Para crearlo deberás acceder a tu cuenta github y dirigirte a Configuración > Developer Settings > Personal Access Tokens > Tokens (classic). Después de crearlo podrás usarlo como username y password al clonar aplicaciones, solicitar pull requests o hacer push a los repositorios desde la terminal.Navega a la carpeta descargada, esta tendrá el mismo nombre que el repositorio
cd libros-programacion-gratis
Recrea los archivos .env y las bases de datos con las migraciones
Ya tenemos lista la base de código necesaria, ahora hay que “completar” los archivos que nos faltan.
Estos archivos son:
Variables de entorno: Archivo .env, por defecto este archivo no se incluye en el repositorio git debido a que su propósito es almacenar contraseñas y configuraciones importantes consideradas como privadas.
# En la raíz del proyecto # Copia el archivo de variables cp .env.example .env # Puedes abrir el archivo con la terminal (nano) o vscode para completar las variables # faltantes como el nombre del proyecto, url e idioma de la aplicación # Generar la clave de la aplicación php artisan key:generate # Esto configura o define la app_key del archivo .env, necesaria para encriptar solicitudes # Si trabajas con aplicaciones que deben compartir sesión la key debe ser la misma
Bases de datos: Crea las bases de datos manualmente asegurándote de que tengan el mismo nombre que en el archivo config/database.php . Para hacerlo puedes usar la interfaz gráfica o línea de comandos, posteriormente, ejecuta las migraciones y seeders del proyecto.
# Una vez creadas las bases # muestra el código sql a ejecutar para crear tablas dentro de bases existentes php artisan migrate --pretend # ejecuta solo cuando estés seguro de crear tales tablas php artisan migrate # carga información en las bases, ejecuta solo cuando toda tabla haya sido creada php artisan db:seed
💡Este es uno de los pasos que da más problemas a la hora de clonar aplicaciones. Es necesario que te asegures de: crear bases usadas en database.php, ejecutar toda migración y que las tablas contengan la información mínima necesaria para que la aplicación funcione.💡En algunas aplicaciones no se incluyen migraciones o seeders que el proyecto requiere para funcionar. Esto puede deberse a que esas tablas y cargas de información se manejan en otro proyecto o a que el desarrollador no las incluyó. Para solucionar esos errores deberás analizar el código de error y preguntar a los desarrolladores por la información faltante.Posibles assets que se decide no almacenar en git (multimedia, librerías), no se describe el proceso de copiado, depende de las particularidades de cada proyecto.
Archivos adicionales de configuración como vite.config.js, tailwind.config.js, .gitignore, etc.
Aunque por lo general estos archivos si se descargan al clonar el código, a veces necesitas cambiarlos para adecuarse al nuevo entorno de desarrollo. El ejemplo más sencillo puede ser cambiar las rutas de la aplicación:
// vite.conf.js, (este es un ejemplo avanzado) import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; export default defineConfig({ // esta línea funciona bien en producción // base: '/oferta-educativa/build', // pero puede que sea necesario cambiarla para que puedas trabajar en local: base: '/', plugins: [ laravel({ input: ['resources/css/app.css', 'resources/js/app.js'], refresh: true, }), ], });
Resumen
Una vez clonaste la aplicación, te debes de asegurar de tener la base de datos y configuraciones adicionales correctamente adecuadas. Es sumamente útil al trabajar con múltiples desarrolladores ya que evita tener que cambiar manualmente los archivos de código y centrarse solo en la programación.
Subscribe to my newsletter
Read articles from Edwin Alberto Hernández Flora directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
