Commit 0a05a9b1 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Détermination automatique de la version/date de l'appli avec git et...

Détermination automatique de la version/date de l'appli avec git et inscription dans un fichier config/autoload/auto.version.local.php par le script ./install.sh
parent db1a70db
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -10,8 +10,8 @@ return [
        'app_infos' => [
            'nom'     => "SyGAL",
            'desc'    => "SYstème de Gestion et d'Accompagnement doctoraL",
            //'version' => cf. 'version.global.php'
            //'date'    => cf. 'version.global.php'
            'version' => '?', // surchargée dans un autre fichier de config (ex: 'config/autoload/auto.version.local.php')
            'date'    => '?', // idem
            'contact' => [
                'mail' => "assistance-sygal@unicaen.fr",
                //'tel' => "01 02 03 04 05",
+0 −10
Original line number Diff line number Diff line
<?php
return [
    'unicaen-app' => [
        'app_infos' => [
            'version' => '1.4.7',
            'date' => '04/06/2020',
        ],
    ],
    'comment' => 'Fichier généré le 04/06/2020 à 14:52:11 avec /app/bump-version',
];
+56 −0
Original line number Diff line number Diff line
#!/usr/bin/env php
<?php

/**
 * Script à utiliser pour créer le fichier de config locale contenant
 * la date et version courante de l'application.
 *
 * Le chemin du fichier de config créé est par défaut
 * 'config/autoload/auto.version.local.php'.
 *
 * Usage:  ./create-version-config-file [<path>]
 * Ex:     ./create-version-config-file 'config/autoload/auto.version.local.php'
 */

require 'vendor/autoload.php';

use Zend\Config\Writer\PhpArray;

const DEFAULT_FILE_PATH = 'config/autoload/auto.version.local.php';
const VERSION_CMD = 'git describe';
const DATE_CMD = 'git log --pretty="format:%ad" --date=format:"%d/%m/%Y %H:%M:%S" -1';

$configFilepath = isset($argv[1]) ? $argv[1] : null;
if ($configFilepath === null) {
    $configFilepath = DEFAULT_FILE_PATH;
}

$version = exec(VERSION_CMD);
if (!$version) {
    echo ":-( Impossible de déterminer automatiquement la version." . PHP_EOL;
    exit(1);
}
$date = exec(DATE_CMD);
if (!$date) {
    echo ":-( Impossible de déterminer automatiquement la date." . PHP_EOL;
    exit(1);
}

$config = [
    'unicaen-app' => [
        'app_infos' => [
            'version' => $version,
            'date' => $date,
        ],
    ],
    'comment' => sprintf("Fichier généré le %s avec le script '%s'.", date('d/m/Y à H:i:s'), basename(__FILE__))
];

$phpArray = new PhpArray();
$phpArray
    ->setUseBracketArraySyntax(true)
    ->toFile($configFilepath, $config);

echo "Fichier de config créé : $configFilepath" . PHP_EOL;
echo "  Version inscrite : $version" . PHP_EOL;
echo "  Date inscrite :    $date" . PHP_EOL;

install-dev.sh

0 → 100755
+24 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash

#
# Script d'installation des pré-requis de l'application *POUR LE DEV*.
#
# Usages :
#   ./install-dev.sh

CURDIR=$(cd `dirname $0` && pwd)

cd ${CURDIR}

# Composer install
composer install --prefer-dist --no-suggest && \

# Génération du fichier de version
echo "" && \
echo "Génération du fichier de version..." && \
./create-version-config-file && \

# Répertoire pour l'upload de fichiers
mkdir -p upload && \
chown -R www-data:root upload && \
chmod -R 770 upload
+10 −4
Original line number Diff line number Diff line
#!/usr/bin/env bash

#
# Script d'installation des pré-requis de l'application.
# Script d'installation des pré-requis de l'application POUR LA PROD.
#
# Usages :
#   ./install.sh
#   ./install.sh dev

[ $1 != "dev" ] && nodev="--no-dev"
CURDIR=$(cd `dirname $0` && pwd)

cd ${CURDIR}

# Composer install
composer install ${nodev} --no-suggest --optimize-autoloader
composer install --no-dev --no-suggest --prefer-dist --optimize-autoloader && \

# Génération du fichier de version
echo "" && \
echo "Génération du fichier de version..." && \
./create-version-config-file && \

# Répertoire pour l'upload de fichiers
mkdir -p upload && \