morningtrain / laravel-deployment
Easily extract version information from a deployment.json file
v1.2.0
2022-06-02 13:16 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.11.3
Requires (Dev)
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
README
A package to parse a file for version/deployment information.
Installation
You can install the package via composer:
composer require morningtrain/laravel-deployment
You can publish the config file with:
php artisan vendor:publish --tag="deployment-config"
This is the contents of the published config file:
return [ /* |-------------------------------------------------------------------------- | Deployment JSON File |-------------------------------------------------------------------------- | | This value is the path to your JSON file. This value is used by the deployment | parser to know which JSON file to parse and look for deployment information, | to use in your application or provide services like Bugsnag or CI/CD. | */ 'file' => env('DEPLOYMENT_JSON_FILE_PATH'), ];
Deployment.json file
The deployment.json
we use, looks like this
{ "revision": "123456789", "version": "v1.4.0", "repository": "http://url-to.repository", "username": "User Name" }
The package expects the file to match the format, to be able to parse it.
Usage
Get the version number
use Morningtrain\Deployment\Facades\Deployment; Deployment::version();
Get the username of the committer
Deployment::username();
Get the revision of the commit
Deployment::revision();
Get the repository URL
Deployment::repository();
Get all the data in a Version object
Deployment::get();
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.