mirror of
https://github.com/deployphp/deployer.git
synced 2025-01-29 19:27:52 +01:00
127 lines
2.9 KiB
PHP
127 lines
2.9 KiB
PHP
<?php
|
|
namespace Deployer;
|
|
|
|
/*
|
|
* As Statamic is a Laravel Package, we will extend the Laravel
|
|
* recipe and simply add Statamic specific commands.
|
|
*/
|
|
require_once __DIR__ . '/laravel.php';
|
|
|
|
add('recipes', ['statamic']);
|
|
add('writable_dirs', [
|
|
'storage/statamic',
|
|
]);
|
|
|
|
set('statamic_version', function () {
|
|
$result = run('{{bin/php}} {{release_or_current_path}}/please --version');
|
|
preg_match_all('/(\d+\.?)+/', $result, $matches);
|
|
return $matches[0][0] ?? 'unknown';
|
|
});
|
|
|
|
/*
|
|
* Addons
|
|
*/
|
|
|
|
desc('Rebuilds the cached addon package manifest');
|
|
task('statamic:addons:discover', artisan('statamic:addons:discover'));
|
|
|
|
/*
|
|
* Assets
|
|
*/
|
|
|
|
desc('Generates asset preset manipulations');
|
|
task('statamic:assets:generate-presets', artisan('statamic:assets:generate-presets'));
|
|
|
|
desc('Generates asset metadata files');
|
|
task('statamic:assets:meta', artisan('statamic:assets:meta'));
|
|
|
|
/*
|
|
* Git
|
|
*/
|
|
|
|
desc('Git add and commit tracked content');
|
|
task('statamic:git:commit', artisan('statamic:git:commit'));
|
|
|
|
/*
|
|
* Glide
|
|
*/
|
|
|
|
desc('Clears the Glide image cache');
|
|
task('statamic:glide:clear', artisan('statamic:glide:clear'));
|
|
|
|
/*
|
|
* Responsive Images (not in the core)
|
|
*/
|
|
|
|
desc('Generates responsive images');
|
|
task('statamic:responsive:generate', artisan('statamic:responsive:generate'));
|
|
|
|
desc('Regenerate responsive images');
|
|
task('statamic:responsive:regenerate', artisan('statamic:responsive:regenerate'));
|
|
|
|
/*
|
|
* Search
|
|
*/
|
|
|
|
desc('Inserts an item into its search indexes');
|
|
task('statamic:search:insert', artisan('statamic:search:insert'));
|
|
|
|
desc('Update a search index');
|
|
task('statamic:search:update', artisan('statamic:search:update'));
|
|
|
|
/*
|
|
* Stache
|
|
*/
|
|
|
|
desc('Clears the "Stache" cache');
|
|
task('statamic:stache:clear', artisan('statamic:stache:clear'));
|
|
|
|
desc('Diagnose any problems with the Stache');
|
|
task('statamic:stache:doctor', artisan('statamic:stache:doctor'));
|
|
|
|
desc('Clears and rebuild the "Stache" cache');
|
|
task('statamic:stache:refresh', artisan('statamic:stache:refresh'));
|
|
|
|
desc('Builds the "Stache" cache');
|
|
task('statamic:stache:warm', artisan('statamic:stache:warm'));
|
|
|
|
/*
|
|
* Static
|
|
*/
|
|
|
|
desc('Clears the static page cache');
|
|
task('statamic:static:clear', artisan('statamic:static:clear'));
|
|
|
|
desc('Warms the static cache by visiting all URLs');
|
|
task('statamic:static:warm', artisan('statamic:static:warm'));
|
|
|
|
/*
|
|
* Support
|
|
*/
|
|
|
|
desc('Outputs details helpful for support requests');
|
|
task('statamic:support:details', artisan('statamic:support:details'));
|
|
|
|
/*
|
|
* Updated
|
|
*/
|
|
|
|
desc('Runs update scripts from specific version');
|
|
task('statamic:updates:run', artisan('statamic:updates:run'));
|
|
|
|
/*
|
|
* Main Deploy Script for Statamic, which
|
|
* will overwrite the Laravel default.
|
|
*/
|
|
|
|
desc('Deploys your project');
|
|
task('deploy', [
|
|
'deploy:prepare',
|
|
'deploy:vendors',
|
|
'artisan:storage:link',
|
|
'artisan:cache:clear',
|
|
'statamic:stache:clear',
|
|
'statamic:stache:warm',
|
|
'deploy:publish',
|
|
]);
|