Overview

Namespaces

  • GAubry
    • ErrorHandler
    • Helpers
    • Logger
    • Shell
  • Himedia
    • Padocc
      • DB
      • Minifier
      • Numbering
      • Properties
      • Task
        • Base
        • Extended
  • None
  • Psr
    • Log

Classes

  • Backup
  • Call
  • Composer
  • Copy
  • Environment
  • ExternalProperty
  • FillTemplate
  • HTTP
  • Link
  • MkDir
  • Project
  • Property
  • Rename
  • Sync
  • Target
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo

Class Environment

Sous-division d'une tâche projet, décrit ce qu'est un déploiement pour un environnement donné.

Attributs :

  • 'name' : nom de l'environnement à préciser lors ddu déploiement
  • 'mailto' : liste d'adresses email séparées par une virgule à qui adresser le mail de fin de déploiement en plus de l'instigateur
  • 'withsymlinks' : activer ou non la gestion de déploiement par lien symbolique (false par défaut)
  • 'basedir' : répertoire de base, accessible par la propriété ${BASEDIR}. Tous les répertoires mentionnés dans le XML, quel que soit le serveur, et qui se trouvent à l'intérieur dans celui-ci, seront automatiquement redirigés en cas de withsymlinks=“true”.
  • 'loadtwengaservers' : charger ou non les alias de serveurs définis dans master_synchro.cfg afin qu'ils soient accessibles en tant que propriété. Par exemple si master_synchro.cfg contient SERVER_QA_PHPWEB_DC_EU1="www17.eu1" SERVER_QA_PHPWEB_DC_US1="www-07.us1" SERVER_QA_PHPWEB_ALL="$SERVER_QA_PHPWEB_DC_EU1 $SERVER_QA_PHPWEB_DC_US1" alors la propriété ${SERVER_QA_PHPWEB_ALL} permettra d'adresser ces 2 serveurs.

Exemple : <env name="prod" mailto="devaa@twenga.com, qateam@twenga.com, herve.gouchet@twenga.com, sysops@twenga.com" withsymlinks="true" loadtwengaservers="true" basedir="/home/httpd/www.twenga" >...</env>

Himedia\Padocc\Task
Extended by Himedia\Padocc\Task\WithProperties
Extended by Himedia\Padocc\Task\Base\Target
Extended by Himedia\Padocc\Task\Base\Environment
Namespace: Himedia\Padocc\Task\Base
Author: Geoffroy AUBRY <gaubry@hi-media.com>
Located at Himedia/Padocc/Task/Base/Environment.php
Methods summary
protected
# init( )

Initializes task.

Initializes task.

Overrides

Himedia\Padocc\Task\Base\Target::init()
public static string
# getTagName( )

Retourne le nom du tag XML correspondant à cette tâche dans les config projet.

Retourne le nom du tag XML correspondant à cette tâche dans les config projet.

Returns

string
nom du tag XML correspondant à cette tâche dans les config projet.

Throws

RuntimeException
si appelée directement sur Task.

CodeCoverageIgnore

Overrides

Himedia\Padocc\Task\Base\Target::getTagName()
private
# addSwithSymlinkTask( )

Ajoute une tâche SwitchSymlink en toute dernière étape de déploiement si le XML du projet n'en a pas spécifié.

Ajoute une tâche SwitchSymlink en toute dernière étape de déploiement si le XML du projet n'en a pas spécifié.

public
# check( )

Vérifie au moyen de tests basiques que la tâche peut être exécutée. Lance une exception si tel n'est pas le cas.

Vérifie au moyen de tests basiques que la tâche peut être exécutée. Lance une exception si tel n'est pas le cas.

Comme toute les tâches sont vérifiées avant que la première ne soit exécutée, doit permettre de remonter au plus tôt tout dysfonctionnement. Appelé avant la méthode execute().

Throws

UnexpectedValueException
en cas d'attribut ou fichier manquant
DomainException
en cas de valeur non permise

Overrides

Himedia\Padocc\Task\Base\Target::check()
private
# analyzeRegisteredPaths( )

Extrait la liste des serveurs concernés par le déploiement à partir de self::$aRegisteredPaths et l'enregistre dans la propriété self::SERVERS_CONCERNED_WITH_BASE_DIR.

Extrait la liste des serveurs concernés par le déploiement à partir de self::$aRegisteredPaths et l'enregistre dans la propriété self::SERVERS_CONCERNED_WITH_BASE_DIR.

private
# makeTransitionToSymlinks( )

Gère la transition d'un déploiement sans stratégie de liens symboliques vers cette stratégie.

Gère la transition d'un déploiement sans stratégie de liens symboliques vers cette stratégie.

private
# makeTransitionFromSymlinks( )

Gère la transition d'un déploiement avec stratégie de liens symboliques vers une approche sans.

Gère la transition d'un déploiement avec stratégie de liens symboliques vers une approche sans.

private
# initNewRelease( )

Initialise la nouvelle release avec le contenu de l'ancienne, dans le but d'accélerer le déploiement.

Initialise la nouvelle release avec le contenu de l'ancienne, dans le but d'accélerer le déploiement.

private array
# getAllReleases( string $sExpandedPath, array $aServers )

Retourne la liste triée chronologiquement des différentes releases présentes à l'endroit spécifié.

Retourne la liste triée chronologiquement des différentes releases présentes à l'endroit spécifié.

Parameters

$sExpandedPath
string
$sExpandedPath chemin sans serveur
$aServers
array
$aServers liste de serveurs au format [user@]servername_or_ip

Returns

array
tableau associatif "sServer" => aReleases, où aReleases est la liste des releases du serveur associé, de la plus jeune à la plus vieille.
private
# removeOldestReleases( )

Supprime les vieilles releases surnuméraires sur chaque serveur concerné par le déploiement.

Supprime les vieilles releases surnuméraires sur chaque serveur concerné par le déploiement.

private
# removeUnnecessaryTasksForRollback( )

Supprime les tâches qui ne sont plus nécessaires pour le rollback.

Supprime les tâches qui ne sont plus nécessaires pour le rollback.

See

$this->aTasks
protected
# preExecute( )

Phase de pré-traitements de l'exécution de la tâche. Elle devrait systématiquement commencer par "parent::preExecute();". Appelé par execute().

Phase de pré-traitements de l'exécution de la tâche. Elle devrait systématiquement commencer par "parent::preExecute();". Appelé par execute().

See

Himedia\Padocc\Task::execute()

Overrides

Himedia\Padocc\Task\Base\Target::preExecute()
Methods inherited from Himedia\Padocc\Task\Base\Target
centralExecute(), getAvailableEnvsList(), setUp()
Methods inherited from Himedia\Padocc\Task
__construct(), execute(), expandPath(), fetchAttributes(), getLogger(), getNewInstance(), postExecute(), processPath(), processSimplePath(), registerPaths(), reroutePaths(), setAttributePropertiesAdapter(), setLogger(), setNumberingAdapter(), setPropertiesAdapter(), setShellAdapter()
Constants summary
string SERVERS_CONCERNED_WITH_BASE_DIR 'SERVERS_CONCERNED_WITH_BASE_DIR'
#

Propriété (au sens PropertiesInterface) contenant la liste des serveurs concernés par le déploiement.

Propriété (au sens PropertiesInterface) contenant la liste des serveurs concernés par le déploiement.

Properties summary
private static array $aSmartyRsyncExclude array('smarty/templates_c', 'smarty/*/wrt*', 'smarty/**/wrt*')
#

Liste d'exclusions Smarty pour les rsync réalisés lors de l'initialisation des déploiements.

Liste d'exclusions Smarty pour les rsync réalisés lors de l'initialisation des déploiements.

See

Himedia\Padocc\Task\Base\Environment::makeTransitionToSymlinks()
Himedia\Padocc\Task\Base\Environment::makeTransitionFromSymlinks()
Himedia\Padocc\Task\Base\Environment::initNewRelease()
Properties inherited from Himedia\Padocc\Task\Base\Target
$aTasks
Properties inherited from Himedia\Padocc\Task
$aAttValues, $aAttrProperties, $aConfig, $aRegisteredPaths, $oAttrProperties, $oDIContainer, $oNumbering, $oProject, $oProperties, $oShell, $oXMLTask, $sCounter, $sName
Platform for Automatized Deployments with pOwerful Concise Configuration API documentation generated by ApiGen 2.8.0