Mises à jour RBS Change : [Guide] Mise à jour 3.5 vers 3.6

  • 79107.1

    03/06/2013 18:06


    guiom
    Rang : Expert
    Je vous propose un petit guide pour mettre à jour votre installation de RBSChange 3.5 vers la dernière version 3.6.

    ATTENTION
    Avant toute manipulation, je vous recommande de faire une sauvegarde de votre site (dump de la base + archivage du dossier) et de travail sur une copie hors-ligne. Travailler sur la copie permet aussi de faire la validation du thème et de le corriger le cas échéant.


    Toutes les commandes sont à faire dans une fenêtre de terminal sous le compte utilisateur sous lequel est installé RBSChange (pas de root !). Le dossier de travail est le dossier racine de l'installation RBSChange

    1. Préparation de votre installation.
    En premier lieu, vous devez mettre à niveau vers la version 3.5.5 minimum. La procédure de mise à niveau vers cette version peut être complexe car les dépôts ont évolué et certains fichiers ne sont plus disponibles.
    Si vous êtes dans une version supèrieure ou égale à la 3.5.5, tout devrait bien se passer.

    Dans votre fichier change.properties, vous devez avoir définie les entrées suivantes :
    # Change remote repositories
    REMOTE_REPOSITORIES=http://update.rbschange.fr
    #Chemin version php cli /usr/bin/php , /usr/local/bin/php ou autre selon votre système.
    PHP_CLI_PATH=

    2. Mise à jour vers 3.6.0
    On récupère le script de mise à jour sur le dépôt public officiel :
    https://github.com/RBSChange/libs.upgrade
    Il suffit de cliquer sur le bouton ZIP pour télécharger l'archive qu'il vous faudra charger à la racine du projet. Vous pouvez aussi exécuter les commandes suivantes :
    wget --no-check-certificate https://github.com/RBSChange/libs.upgrade/archive/3.6.zip -O upgrade.zip
    unzip upgrade.zip
    mv libs.upgrade-3.6 upgrade
    rm -f upgrade.zip

    Si vous êtes dans une version supérieure à la 3.5.5 vous devez adapter le script et télécharger le fichier release.
    (remplacer le X par votre numéro de version).
    sed -i s/3.5.5/3.5.X/ upgrade/upgrade.php
    wget http://update.rbschange.fr/release-3.5.X.xml -O upgrade/release-3.5.X.xml

    Il ne reste plus qu'à lancer le script et voir ce qui se passe :
    php upgrade/upgrade.php

    Il y aura certainement des messages d'erreurs. Voici ce que j'ai rencontrés :

    "Unable to download all dependencies."
    ERROR: modules/XXXXXXXXX 3.5.X not found in 3.6.0 Release
    ERROR: Unable to download all dependencies.

    C'est un module qui n'existe plus dans la version 3.6, il suffit de supprimer la référence dans le fichier change.xml (<module>XXXXXXXX-3.5.X</module>). Les données du module ne seront peut-être pas accessible dans la nouvelle version, je vous conseille de les récupérer avec de continuer.

    Erreur "invalid license for XXXXXX"
    Un module sous licence payante est présent, vous devez le supprimer de change.xml s'il y apparait et aussi son lien du dossier modules.
    Par exemple :
    ERROR: Unable to upgrade abstractdirectory-3.5.2
    ERROR: Error in license file: /.../upgrade/license.xml , OpenSource license.
    ERROR: Invalid license for abstractdirectory: OpenSource license.
    rm modules/abstractdirectory


    3. Après la mise à jour 3.6.0
    Le site n'est peut-être pas encore utilisable, vous devez tout d'abord verrifier si tout est bien installé :
    php framework/bin/change.php compile-all

    Vous allez certainnement avoir ce type d'erreur :
    == Compile all ==
    == Compile config ==
    Error line 377 (/.../repository/framework/framework-3.6.0/builder/generator/PersistentModel.class.php): Could not find extended model modules_abstractdirectory/preferences

    Si c'est le cas, il faut nettoyer le projet des vieux liens qui pointent encore vers la version 3.5.Pour ce faire, j'utilise le script que j'ai mis dans ce post.

    Une fois que la commande compile-all fonctionne correctement, vous devez installer les patchs disponibles :
    php framework/bin/change.php check-patch
    php framework/bin/change.php apply-patch ....

    4. Mise à jour vers la 3.6.6
    Pour installer la version 3.6.1, il faut télécharger manuellement le script de migration et le lancer:
    wget http://update.rbschange.fr/libs/migration/migration-3.6.1.zip
    unzip migration-3.6.1.zip
    mv migration-3.6.1 migration
    rm migration-3.6.1.zip
    php migration/migrate.php

    Pour les autres version, vous pouvez utiliser les commandes du module updater :
    php framework/bin/change.php  updater.migrate refresh
    php framework/bin/change.php updater.migrate download
    php framework/bin/change.php updater.migrate apply

    Il vous faut répéter ces dernières commandes jusqu'à la version 3.6.6

    5. Pour terminer
    On supprimer les fichiers inutiles et on compile tout :
    rm -rf migration
    rm -rf upgrade
    php framework/bin/change.php compile-all --clear

    Édité par Jean-Michel 10/06/2013 09:31

 
Merci de prendre connaissance et de respecter les règles des forums.
 
1462 membres
Aucun membre connecté