tombroucke / otomaties-deployer
此包的最新版本(1.6.0)没有可用的许可证信息。
部署 Bedrock & Sage
1.6.0
2024-06-11 10:22 UTC
Requires
- php: ^8.0
- deployer/deployer: ^7.0
- vlucas/phpdotenv: ^5.4
Requires (Dev)
README
安装
composer require tombroucke/otomaties-deployer --dev
示例 deploy.php 文件
<?php namespace Deployer; require_once __DIR__ . '/vendor/autoload.php'; $dotenv = \Dotenv\Dotenv::createImmutable(__DIR__); $dotenv->load(); require 'vendor/tombroucke/otomaties-deployer/deploy.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/acorn.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/auth.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/bedrock.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/cleanup.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/combell.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/composer.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/otomaties.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/sage.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/woocommerce.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/wordfence.php'; require 'vendor/tombroucke/otomaties-deployer/recipes/wp-rocket.php'; /** Config */ set('application', ''); set('repository', ''); set('sage/theme_path', get('web_root') . '/app/themes/themename'); set('sage/build_command', 'build --clean --flush'); // build --clean for bud, build:production for webpack mix set('sage/public_dir', 'public'); // public for bud, dist for webpack mix /** Hosts */ host('production') ->set('hostname', 'ssh###.webhosting.be') ->set('url', '') ->set('remote_user', 'examplebe') ->set('branch', 'main') ->set('deploy_path', '/data/sites/web/examplebe/app/main'); host('staging') ->set('hostname', 'ssh###.webhosting.be') ->set('url', '') ->set('basic_auth_user', $_SERVER['BASIC_AUTH_USER'] ?? '') ->set('basic_auth_pass', $_SERVER['BASIC_AUTH_PASS'] ?? '') ->set('remote_user', 'examplebe') ->set('branch', 'staging') ->set('deploy_path', '/data/sites/web/examplebe/app/staging'); /** Notify deploy started */ before('deploy', 'slack:notify'); /** Install theme dependencies */ after('deploy:vendors', 'sage:vendors'); /** Push theme assets */ after('deploy:update_code', 'sage:compile_and_upload_assets'); /** Write revision to file */ after('deploy:update_code', 'otomaties:write_revision_to_file'); /** Reload Combell */ after('deploy:symlink', 'combell:reloadPHP'); /** Clear OPcode cache */ after('deploy:symlink', 'combell:reset_opcode_cache'); /** Cache ACF fields */ after('deploy:symlink', 'acorn:acf_cache'); /** Reload cache & preload */ after('deploy:symlink', 'wp_rocket:clear_cache'); /** Reload cache & preload */ after('deploy:symlink', 'wp_rocket:preload_cache'); /** Remove unused themes */ after('deploy:cleanup', 'cleanup:unused_themes'); /** Notify success */ after('deploy:success', 'slack:notify:success'); /** Unlock deploy */ after('deploy:failed', 'deploy:unlock'); /** Notify failure */ after('deploy:failed', 'slack:notify:failure');
WooCommerce
/** Update WooCommerce tables */ after('deploy:symlink', 'woocommerce:update_database');
WordPress 缓存
/** Update WooCommerce tables */ after('deploy:symlink', 'wordpress:clear_cache');
额外命令
在主机上启用基本认证
dep auth:password_protect_stage staging
创建 bedrock .env 文件
dep bedrock:create_env staging
将仓库认证添加到远程服务器
dep composer:add_remote_repository_authentication
为 Bedrock / deployer 设置 Wordfence 防火墙
dep wordfence:firewall_setup
添加 .htaccess 规则以提高安全性
dep otomaties:htaccess_rules
设置默认的 Wordfence 配置
dep wordfence:default_configuration