Skip to content
Snippets Groups Projects
Select Git revision
  • 9ff97ff32cf73ebf5af7a7a06de8513b3b8a8d85
  • master default protected
  • Legacy_Php7
3 results

inc_projects_config.php

Blame
  • user avatar
    Hahn Axel (hahn) authored
    0dd8e25c
    History
    inc_projects_config.php 4.86 KiB
    <?php
    
    // ----------------------------------------------------------------------
    // fetch status infos von den einzelnen Phasen
    // ----------------------------------------------------------------------
    
    $aConfig = array(
        // Basispfad:
        'workDir' => '/var/imldeployment',
        'tmpDir' => '/var/tmp/imldeployment',
        'versionsToKeep' => 10, // for cleanup: keep n unused versions
        'builtsToKeep' => 3, // for cleanup: keep n failed builds
        'hooks' => array(
            'build-postclone' => 'hooks/onbuild-postclone',
            'build-precompress' => 'hooks/onbuild', // TODO: remove this
        ),
        'lang' => 'de', // for available languages see ./config/lang/*.json
        // rsync of archives
        'mirrorPackages' => array(),
        // ssh install - if a host is given
        'installPackages' => array(
            'user' => 'imldeployment',
            
            // command to update ssh hostkey in known_hosts file
            // %s is name of the server (2x)
            'addkeycommand' => '/usr/bin/ssh-keygen -R %s; /usr/bin/ssh-keyscan -t rsa %s >> /home/www-data/.ssh/known_hosts',
            
            // command to verify if puppet host is correct
            'testcommand' => 'sudo puppet --version',
            
            // puppet agent liefert 0 oder 2 zurueck, wenn OK
            // http://docs.puppetlabs.com/references/3.4.0/man/apply.html
            'command' => 'sudo puppet agent -t --detailed-exitcodes ; rc=$?; if [ $rc -eq 2 ]; then rc=0; fi ; exit $rc',
        ),
        'phases' => array(
            "preview" => array(
                'css' => array(
                    'bgdark' => 'background:#89a; color:#f8f8f8;',
                    'bglight' => 'background:#e8e8f8; color:#333; background: rgba(180,180,230, 0.3);',
                    'bgbutton' => 'background:#89a; color:#fcfcfc; border: 1px solid rgba(0,0,0,0.15);',
                ),
            ),
            "stage" => array(
                'css' => array(
                    'bgdark' => 'background:#8aa; color:#f8f8f8;',
                    'bglight' => 'background:#e4f8f8; color:#333; background: rgba(180,210,210, 0.3);',
                    'bgbutton' => 'background:#8aa; color:#fcfcfc; border: 1px solid rgba(0,0,0,0.15);',
                ),
            ),
            "live" => array(
                'css' => array(
                    'bgdark' => 'background:#8a8; color:#f8f8f8;',
                    'bglight' => 'background:#e0f8e0; color:#333; background: rgba(180,250,180, 0.3);',
                    'bgbutton' => 'background:#8a8; color:#fcfcfc; border: 1px solid rgba(0,0,0,0.15);',
                ),
                // wenn deploytimes existiert, dann wird nach dem Deploy das Paket 
                // in einer Queue zurueckgehalten
                "deploytimes" => array('/(Mon|Tue|Wed|Thu)\ 14\:/'),
            ),
        ),
        'showdebug' => array(
            'ip'=>array('10.0.2.2', '127.0.0.1', '130.92.79.49'),
        ), // for available languages see ./config/lang/*.json
    );
    
    // ----------------------------------------------------------------------
    // override for local development
    // ----------------------------------------------------------------------
    
    
    switch (php_uname("n")) {
        case "USER":
        case "AAE49":
        case "dev.ci.iml.unibe.ch":
            $aConfig['workDir'] = "D:\imldeployment";
            break;
    
        case "ci.iml.unibe.ch":
    
            // synch der Pakete nur auf dem Livesystem
            $aConfig['mirrorPackages'] = array(
                'puppet' => array(
                    'type' => 'rsync',
                    'runas' => 'www-data', // nur fuer commandline
                    'target' => 'ladmin@calcium.iml.unibe.ch:/share/imldeployment',
                ),
                'puppet.one' => array(
                    'type' => 'rsync',
                    'runas' => 'www-data', // nur fuer commandline
                    'target' => 'copy-deployment@puppet.one.iml.unibe.ch:/var/shared/imldeployment',
                ),
            );
            break;
    
        default:
            break;
    }
    if (!array_key_exists('tmpDir', $aConfig) || !$aConfig["tmpDir"]){
        $aConfig["tmpDir"] = (getenv("temp") ? getenv("temp") : "/var/tmp") . '/imldeployment';
    }
    // ----------------------------------------------------------------------
    // TODO: include custom settings that were saved in the GUI
    // ----------------------------------------------------------------------
    
    
    // ----------------------------------------------------------------------
    // generate some vars
    // ----------------------------------------------------------------------
    
    $aConfig = array_merge($aConfig, array(
        'appRootDir' => dirname(dirname(__FILE__)),
        'configDir' => dirname(__FILE__),
        'dataDir' => $aConfig['workDir'] . '/data',    // to write data: ssh keys, projects, database
        'buildDir' => $aConfig['workDir'] . '/build',
        'buildDefaultsDir' => $aConfig['workDir'] . '/defaults',
        'packageDir' => $aConfig['workDir'] . '/packages',
        'archiveDir' => $aConfig['workDir'] . '/packages/_files',
            ));