ezermeno / fmx-version-app
Expose Laravel application version based on build-time Git commit (runtime-safe and config-cache friendly).
Requires
- php: ^8.1
- illuminate/support: ^10.0|^11.0|^12.0
This package is not auto-updated.
Last update: 2026-05-03 06:30:04 UTC
README
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"
}