mirror of
				https://github.com/hauke68/Magallanes.git
				synced 2025-11-04 00:50:18 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
class Mage_Task_Add
 | 
						|
{
 | 
						|
    public function environment($environmentName, $withRelases = false)
 | 
						|
    {
 | 
						|
        $environmentName = strtolower($environmentName);
 | 
						|
        $environmentConfigFile = '.mage/config/environment/' . $environmentName . '.yml';
 | 
						|
        
 | 
						|
        Mage_Console::output('Adding new environment: <dark_gray>' . $environmentName . '</dark_gray>');
 | 
						|
        
 | 
						|
        // Check if there is already an environment with the same name
 | 
						|
        if (file_exists($environmentConfigFile)) {
 | 
						|
            Mage_Console::output('<light_red>Error!!</light_red> Already exists an environment called <dark_gray>' . $environmentName . '</dark_gray>', 1, 2);
 | 
						|
        } else {
 | 
						|
            $releasesConfig = 'releases:' . PHP_EOL 
 | 
						|
                            . '  enabled: true' . PHP_EOL
 | 
						|
                            . '  max: 10' . PHP_EOL
 | 
						|
                            . '  symlink: current' . PHP_EOL
 | 
						|
                            . '  directory: releases' . PHP_EOL;
 | 
						|
            
 | 
						|
            $baseConfig = '#' . $environmentName . PHP_EOL
 | 
						|
                        . 'deployment:' . PHP_EOL
 | 
						|
                        . '  user: dummy' . PHP_EOL
 | 
						|
                        . '  from: ./' . PHP_EOL
 | 
						|
                        . '  to: /var/www/vhosts/example.com/www' . PHP_EOL
 | 
						|
                        . '  excludes:' . PHP_EOL
 | 
						|
                        . ($withRelases ? $releasesConfig : '')
 | 
						|
                        . 'hosts:' . PHP_EOL
 | 
						|
                        . 'tasks:' . PHP_EOL
 | 
						|
                        . '  pre-deploy:' . PHP_EOL
 | 
						|
                        . '  on-deploy:' . PHP_EOL
 | 
						|
                        . '    - deployment/rsync' . PHP_EOL
 | 
						|
                        . '  post-deploy:' . PHP_EOL;
 | 
						|
            $result = file_put_contents($environmentConfigFile, $baseConfig);
 | 
						|
            
 | 
						|
            if ($result) {
 | 
						|
                Mage_Console::output('<light_green>Success!!</light_green> Environment config file for <dark_gray>' . $environmentName . '</dark_gray> created successfully at <blue>' . $environmentConfigFile . '</blue>');
 | 
						|
                Mage_Console::output('<dark_gray>So please! Review and adjust its configuration.</dark_gray>', 2, 2);
 | 
						|
            } else {
 | 
						|
                Mage_Console::output('<light_red>Error!!</light_red> Unable to create config file for environment called <dark_gray>' . $environmentName . '</dark_gray>', 1, 2);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |