Commit 0cbd46d7 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Nouvelle commande update-copde qui sert à mettre à jour le coe source sans toucher à la BDD

parent 1448435c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ $actions = [
    "install-bdd"               => "Installe la base de données"
        . "\n\t--oseappli-pwd=<votre mdp> : mot de passe de l'utilisateur oseappli"
    ,
    "update-code"               => "Mise à jour du code source de l'application (sans toucher à la BDD)",
    "update-bdd"                => "Mise à jour de la base de données de l'application (sans les fichiers)",
    "update-employeur"          => "Mise à jour de la table employeur à partir d'une source (par défault source INSEE)",
    "build-synchronisation"     => "Reconstruction des vues différentielles et des procédures de mise à jour",
+55 −0
Original line number Diff line number Diff line
<?php

// Initialisation
$osedir = $oa->getOseDir();


// Choix de la version
$c->exec([
    "cd $osedir",
    "git fetch --all --tags --prune",
], false);

if (!$c->hasOption('version')) {
    $c->println("Sélection de la version à déployer", $c::COLOR_LIGHT_CYAN);
    $c->println("La version actuellement installée est la " . $oa->oldVersion);
    $c->println("Voici la liste des versions de OSE disponibles:");
    $tags = $oa->getTags();
    foreach ($tags as $tag) {
        $c->println($tag);
    }

    // Choix de la version
    $c->print("Veuillez choisir une version à déployer: ");
}
$version = $c->getInput('version');
if (!($oa->tagIsValid($version) || $oa->brancheIsValid($version))) {
    $c->printDie("$version n'est pas dans la liste des versions disponibles.");
}


// Récupération des sources
$c->println("\nMise à jour des fichiers à partir de GIT", $c::COLOR_LIGHT_CYAN);
$tbr = $oa->tagIsValid($version) ? 'tags/' : '';
if ($version == $oa->getCurrentBranche()) {
    $updcmd = 'git pull';
} else {
    $updcmd = "git checkout $tbr$version";
}
$c->passthru([
    "cd $osedir",
    $updcmd,
]);

$oa->writeVersion($version);
$c->println("\nMise à jour du code source OK : la version installée est désormais la " . $version, $c::COLOR_LIGHT_GREEN);


// Récupération des dépendances
$c->println("\nMise à jour des dépendances à l'aide de Composer", $c::COLOR_LIGHT_CYAN);
$c->passthru([
    "export COMPOSER_ALLOW_SUPERUSER=1",
    "cd $osedir",
    "php composer.phar self-update --2",
    "php composer.phar install --optimize-autoloader",
]);

admin/actions/update-composer.php

deleted100644 → 0
+0 −12
Original line number Diff line number Diff line
<?php

$osedir = $oa->getOseDir();

// Récupération des dépendances
$c->println("\nMise à jour des dépendances à l'aide de Composer", $c::COLOR_LIGHT_CYAN);
$c->passthru([
    "export COMPOSER_ALLOW_SUPERUSER=1",
    "cd $osedir",
    "php composer.phar self-update --2",
    "php composer.phar install --optimize-autoloader",
]);
+2 −43
Original line number Diff line number Diff line
@@ -11,49 +11,8 @@ if ($c->getOption('maintenance') != 'no') {
    $c->getInput();
}


// Choix de la version
$c->exec([
    "cd $osedir",
    "git fetch --all --tags --prune",
], false);

if (!$c->hasOption('version')) {
    $c->println("Sélection de la version à déployer", $c::COLOR_LIGHT_CYAN);
    $c->println("La version actuellement installée est la " . $oa->oldVersion);
    $c->println("Voici la liste des versions de OSE disponibles:");
    $tags = $oa->getTags();
    foreach ($tags as $tag) {
        $c->println($tag);
    }

    // Choix de la version
    $c->print("Veuillez choisir une version à déployer: ");
}
$version = $c->getInput('version');
if (!($oa->tagIsValid($version) || $oa->brancheIsValid($version))) {
    $c->printDie("$version n'est pas dans la liste des versions disponibles.");
}


// Récupération des sources
$c->println("\nMise à jour des fichiers à partir de GIT", $c::COLOR_LIGHT_CYAN);
$tbr = $oa->tagIsValid($version) ? 'tags/' : '';
if ($version == $oa->getCurrentBranche()) {
    $updcmd = 'git pull';
} else {
    $updcmd = "git checkout $tbr$version";
}
$c->passthru([
    "cd $osedir",
    $updcmd,
]);

$oa->writeVersion($version);
$c->println("\nMise à jour du code source OK : la version installée est désormais la " . $version, $c::COLOR_LIGHT_GREEN);

// Mise à jour des dépendances du projet
$oa->run('update-composer', true);
// Mise à jour du code source
$oa->run('update-code', true);

// Mise à jour de la base de données à partir d'un nouveau processus
$oa->run('update-bdd', true);