Releases: thecodeholic/laravel-hostinger-deploy
Releases · thecodeholic/laravel-hostinger-deploy
v0.5.0
Fixed incremental deployments and added post-deployment optimization commands
Added
- Post-deployment optimization commands matching GitHub Actions workflow:
- Application optimization (
optimize:clearandoptimize) - Event caching (
event:clearandevent:cache) - Queue worker restart (
queue:restart) - Horizon termination (
horizon:terminate) - Application cache clearing (
cache:clear) - OPcache clearing (
opcache:clear)
- Application optimization (
- Configurable caching commands (config, route, view) via config file flags
Fixed
- Fixed
.envfile being overwritten during incremental deployments - Fixed app key regeneration breaking user sessions on subsequent deployments
- Fixed storage symlink creation errors when symlink already exists
- Fixed
public_htmlsymlink creation errors when symlink already exists
Improved
- Post-deployment commands now run conditionally based on existing state
.envfile is only created from.env.exampleif it doesn't already exist- App key generation only runs if
APP_KEYis not set in.env - Storage symlink creation only runs if symlink doesn't exist
- Safe for incremental deployments - preserves user data and configuration files
- Removed redundant
.envfile existence checks (file is guaranteed to exist at post-deployment stage) hostinger:deploycommand now matches GitHub Actions workflow post-deployment behavior
Changed
- Deployment commands are now idempotent - safe to run multiple times without side effects
- First-time deployment behavior unchanged, but subsequent deployments preserve existing configuration
v0.4.0
Added
- Full Laravel environment setup in
build-assetsjob to support Laravel Vite plugins - PHP, Composer, and .env configuration in the build-assets job
- Artifact upload/download mechanism to share built assets between GitHub Actions jobs
build-assetsjob now properly generatesvendor/autoload.phpbefore building frontend assets
Fixed
- Fixed build failure when Laravel Vite plugins require PHP artisan commands during asset compilation
- Fixed missing Composer dependencies causing "vendor/autoload.php not found" error during npm build
- Fixed artifact sharing issue where built assets from
build-assetsjob were not available indeployjob
Improved
- GitHub Actions workflow now properly isolates and shares build artifacts between jobs
- Better dependency management between jobs (deploy now depends on both tests and build-assets)
v0.3.0
Added
- Enhanced error handling with detailed error messages showing exit codes and command output
--show-errorsflag forhostinger:deploycommand to display verbose error information- Automatic Git host key verification: Automatically adds Git repository host (GitHub, GitLab, etc.) to
known_hoststo prevent interactive prompts during first-time cloning - Support for all Git hosting providers: Extracts hostname from repository URL automatically (GitHub, GitLab, Bitbucket, etc.)
Improved
- Error messages now include exit codes, error output (stderr), and regular output (stdout) from failed SSH commands
- Deployment failures now provide actionable debugging information instead of generic error messages
- Fixed first-time repository cloning issue where SSH would prompt for host key verification
- Better error visibility: Errors with detailed information are automatically shown even without the
--show-errorsflag
Documentation
- Added requirement documentation for PHP
exec()function in README - Added SSH public key authentication setup recommendations and instructions
- Moved environment variables section to the top of README for better visibility
- Enhanced README with clearer setup instructions and security best practices
Fixed
- Fixed deployment failure on first-time git clone due to host key verification prompt
- Improved error reporting when deployment commands fail with non-zero exit codes
v0.2.0
Added
- Automatic npm build support:
hostinger:deploynow automatically detectspackage.jsonand builds frontend assets locally before deployment - Built asset copying: Automatically copies
public/build/directory to the remote server using rsync after deployment - GitHub Actions workflow enhancements:
- SSH key installation step for secure authentication
- Automatic copying of built frontend assets to the remote server
- Support for projects with npm/frontend build requirements
Changed
- Refactored all commands to extend
BaseHostingerCommandbase class for better code organization and DRY principles - Renamed
hostinger:deploy-sharedtohostinger:deploy(simpler, more intuitive name) - Renamed
hostinger:setup-automated-deploytohostinger:setup-cicd(more accurate terminology) - Renamed
hostinger:deploy-and-setup-automatedtohostinger:deploy-and-setup-cicd(consistent naming)
Improved
- Reduced code duplication by extracting common methods into
BaseHostingerCommand - Improved maintainability - changes to shared logic now only need to be made once
- Better code organization with centralized configuration validation, SSH setup, and GitHub API initialization
- Frontend assets are now built locally (no npm required on shared hosting servers)
Initial stable release
Added
- Initial stable release
hostinger:deploy-and-setup-automated- All-in-one command for deployment and automated setuphostinger:deploy-shared- Manual deployment to Hostinger shared hostinghostinger:auto-deploy- Setup automated deployment with manual GitHub secrets configurationhostinger:publish-workflow- Create GitHub Actions workflow file locallyhostinger:setup-automated-deploy- Setup automated deployment via GitHub API- SSH key generation and management on Hostinger server
- GitHub Actions workflow generation
- GitHub API integration for automatic secret management
- Support for Laravel 11 and 12
- Comprehensive deployment process (composer install, migrations, storage links, optimizations)
- Interactive deployment with conflict resolution
- Git authentication error handling with deploy key setup
Features
- One-command deployment to Hostinger shared hosting
- Automated GitHub Actions workflow setup
- Manual and automated deployment options
- SSH key management
- Environment variable configuration
- Configurable deployment options via config file