Skip to content

ezermeno/fmx-version-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FMX Version App

Packagist Version Total Downloads PHP Version Require License

Laravel

Un paquete para Laravel que permite exponer la versión de una aplicación basada en el commit de Git, de forma segura para producción y totalmente compatible con config:cache.

✅ Git se utiliza solo en build-time
❌ Nunca se ejecuta Git en runtime


✨ Características

  • ✅ Versión basada en el commit actual
  • ✅ Seguro para producción (no depende de .git)
  • ✅ Compatible con config:cache
  • ✅ Ideal para CI/CD, Docker, Forge y Vapor
  • ✅ Incluye comandos Artisan
  • ✅ Facade listo para usar

📦 Instalación

Instala el paquete vía Composer:

composer require ezermeno/fmx-version-app

Laravel registrará automáticamente el service provider mediante auto‑discovery.

⚙️ Publicar configuración (opcional)

php artisan vendor:publish --tag=config

Esto publicará el archivo de configuración:

config/fmx-version-app.php

🚀 Generar la versión desde Git (build-time)

Este comando obtiene el commit actual de Git y actualiza la versión configurada de la aplicación.

php artisan fmxvapp:update

⚠️ Este comando debe ejecutarse solo en local, CI o durante el deploy, nunca en runtime.

Uso recomendado en CI/CD

php artisan fmxvapp:update
php artisan config:clear
php artisan config:cache

🖥️ Ver la versión por consola

php artisan fmxvapp:version

Ejemplo de salida:

Version: a3f91c2
Build at: 2026-04-30T05:41:00Z

🧩 Uso dentro de la aplicación

Mediante Facade

use Ezermeno\FmxVersionApp\Facades\FmxVersionApp;

FmxVersionApp::version();
FmxVersionApp::buildAt();
FmxVersionApp::toArray();

Resultado:

[
    'version' => 'a3f91c2',
    'build_at' => '2026-04-30T05:41:00Z',
];

Desde la configuración

config('fmx-version-app.version');
config('fmx-version-app.build_at');

📡 Ejemplo de endpoint API

use Ezermeno\FmxVersionApp\Facades\FmxVersionApp;

Route::get('/version', function () {
    return response()->json(FmxVersionApp::toArray());
});

Respuesta:

{
  "version": "a3f91c2",
  "build_at": "2026-04-30T05:41:00Z"
}

About

Expose Laravel application version based on build-time Git commit (runtime-safe and config-cache friendly).

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages