Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use function Deployer\{server, task, run, set, get, add, before, after, desc, upload, runLocally};
- require 'recipe/common.php';
- // Configuration
- $config = require 'deploy_config.php';
- //set('ssh_type', 'native');
- set('ssh_multiplexing', true);
- //set('repository', 'ssh://gogs@git.server.com:22/user/repo.git');
- set('shared_files', ['public/wp-config.php']);
- set('shared_dirs', ['public/wp-content/uploads']);
- set('writable_dirs', []);
- set('keep_releases', 10);
- set('composer_command', 'composer');
- set('server_name', $config['server_name']);
- set('site_name', $config['site_name']);
- set('db_name', $config['db_name']);
- set('db_user', $config['db_user']);
- set('db_pass', $config['db_pass']);
- //Defaults for all servers
- get('timezone', 'Europe/London');
- get('branch', 'master');
- // Configure servers
- server('development', $config['server_name'])
- ->user($config['server_user'])
- ->password($config['server_pass'])
- ->port($config['server_port'])
- ->set('deploy_path', '/var/www/' . $config['site_name'] . '.' . $config['server_name']);
- // Easy Engine tasks
- /**
- * Create new Wordpress site with php5.6
- */
- task('site:create', function () {
- run('ee site create ' . get('site_name') . '.' . get('server_name') . ' --wp');
- });
- /**
- * Delete existing Wordpress site
- */
- task('site:delete', function () {
- run('ee site delete ' . get('site_name') . '.' . get('server_name') . ' --no-prompt');
- });
- /**
- * Chown files to correct user
- */
- task('files:chown', function () {
- run('chown -R www-data:www-data ' . get('deploy_path'));
- });
- // Tasks
- task('files:upload', function() {
- runLocally('"C:/Program Files/7-Zip/7z.exe" a -r wp-content.zip wp/wp-content');
- $appFiles = [
- 'wp-content.zip'
- ];
- $deployPath = get('deploy_path');
- foreach ($appFiles as $file) {
- upload($file, "{$deployPath}/{$file}");
- }
- echo 'Upload ok > ';
- run("unzip -u {$deployPath}/wp-content.zip -d {$deployPath}");
- echo 'Unzip ok > ';
- run("rm -Rf {$deployPath}/htdocs/wp-content");
- echo 'WP_CONTENT remove ok > ';
- run("cp -R {$deployPath}/wp/wp-content {$deployPath}/htdocs/wp-content");
- echo 'Copy ok > ';
- run("rm -Rf {$deployPath}/wp");
- echo 'WP remove ok > ';
- });
- task('db:upload', function() {
- $deploy_path = get('deploy_path');
- $server_name = get('server_name');
- $site_name = get('site_name');
- $local_site_name = $site_name . '.dev';
- $remote_site_name = $site_name . '.' . $server_name;
- $db_name = get('db_name');
- $db_user = get('db_user');
- $db_pass = get('db_pass');
- runLocally('mysqldump -u root ' . get('site_name') . ' > wp.sql');
- echo 'Dump ok > ';
- upload('wp.sql', "{$deploy_path}/wp.sql");
- echo 'Upload dump ok > ';
- run("mysql -u {$db_user} -p{$db_pass} {$db_name} < {$deploy_path}/wp.sql");
- echo 'DB import ok > ';
- upload('srdb.class.php', "{$deploy_path}/srdb.class.php");
- upload('srdb.cli.php', "{$deploy_path}/srdb.cli.php");
- run("php {$deploy_path}/srdb.cli.php -h localhost -u {$db_user} -p {$db_pass} -n {$db_name} -s //{$local_site_name} -r //{$remote_site_name}");
- });
- task('db:download', function() {
- $deploy_path = get('deploy_path');
- $server_name = get('server_name');
- $site_name = get('site_name');
- $local_site_name = $site_name . '.dev';
- $remote_site_name = $site_name . '.' . $server_name;
- $db_name = get('db_name');
- $db_user = get('db_user');
- $db_pass = get('db_pass');
- run("mysqldump -u {$db_user} -p{$db_pass} {$db_name} > {$deploy_path}/wp.sql");
- });
- /**
- * Main task
- */
- desc('Deploy your project');
- task('deploy', [
- 'deploy:prepare',
- 'files:upload',
- 'files:chown',
- 'db:upload',
- 'cleanup',
- ]);
- // [Optional] if deploy fails automatically unlock.
- after('deploy:failed', 'deploy:unlock');
Add Comment
Please, Sign In to add comment