Select Git revision
inc_projects_config.php
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',
));