Mise à jour

La documentation ci-dessous suppose une migration vers Redmine 2.x
La version précédente est disponible ici .

Étape 1 - Vérifier les pré-requis

La première étape pour la mise à jour de Redmine est de vérifier que vous remplissez les exigences de la version que vous vous apprêtez à installer.

Étape 2 - Sauvegarde

Il est recommandé de sauvegarder vos données et vos fichiers. La plupart des mises à jour sont sans danger, mais il est toujours prudent de réaliser une sauvegarde dans le cas contraire.

Étape 3 - réaliser la mise à jour

Le processus de mise à jour est dépendant de la manière que vous avez téléchargé Redmine. Vous avez besoin de réaliser seulement une des options suivantes :

Option 1 - Mettre à jour depuis une version téléchargée (fichier tar.gz ou zip)

1. Décompresser la nouvelle archive du programme dans un nouveau répertoire.

2. Copiez vos paramètres de base config/database.yml dans le nouveau répertoire de configuration config. Si vous utilisez Redmine >=1.4 avec MySql et Ruby 1.9, changez l'adapteur pour mysql2.

3a. Copiez vos paramètres de configuration config/configuration.yml dans le nouveau répertoire de configuration config.

3b. Si vous migrez depuis une version plus vielle que 1.2.0, copiez vos configurations de courriel de votre config/email.yml dans le nouveau config/configuration.yml dont l'exemple peut être copié du fichier configuration.yml.example.

4. Copiez le contenu de files dans le répertoire files de votre nouvelle installation

5. Copiez le répertoire contenant vos plugin personnalisés de votre répertoire vendor/plugins dans le répertoire plugins de votre nouvelle installation ( si vous migrez d'une version antérieure à 2.0.0 vers une version >= 2.0.0). Assurez-vous de ne copier que les plugins différents de l'installation originale de Redmine de votre précdente installation.

6. Exécturer les commandes suivantes depuis le répertoire Redmine de votre nouvelle installation

rake config/initializers/session_store.rb

Si vous utilisez une nouvelle version de Redmine, les fichiers indiqués au dessous n'existent pas encore. Pour ces versions, exécutez :

rake generate_session_store

Cette commande va générer un fichier (config/initializers/session_store.rb) avec un secret aléatoire utilisé pour sécuriser les données de session.

À partir de la version 2.0.0 le fichier session_store.rb ne devrait plus exister. À la place la commande suivante va générer le fichier secret_token.rb.

rake generate_secret_token

Voir la note à la fin concernant la génération du secret

7. Assurez-vous pour tous les thèmes que vous possédez de les installer dans le répertoire "public/themes". Vous pouvez les copier, mais il est préférable de vérifier s'il y a une version mise à jour.

TRÈS IMPORTANT : Ne pas écraser le fichier config/settings.yml avec l'ancienne version

Option 2 - Mettre à jour depuis un checkout SVN Dépot

1. Allez dans le répertoire racine de Redmine et exécutez la commande suivante:

svn update

2. Si vous faites une mise à jour depuis une ancienne version vers la 0.8.7 ou supérieur (depuis une version du trunk jusqu'à r2493 ou plus), vous devez générer un secret pour le stockage des cookies. Voyez la note à la fin pour la génération de l'entrepot de session.

Étape 4 - Mise à jour de la base de données

Cette étape va modifier le contenu de la base de données. Allez dans le répertoire de votre nouvelle installation de Redmine et effectuez la commande suivante :

rake db:migrate RAILS_ENV=production 

Si vous avez installé des plugin, vous devrez effectuer une migration de la base de données. Effectuer la commande suivante :

rake redmine:plugins:migrate RAILS_ENV=production 

Ou pour Windows:

set RAILS_ENV=production
rake db:migrate  
set RAILS_ENV=production
rake redmine:plugins:migrate  

Étape 5 - Nettoyage

1. Vous devez nettoyer le cache et les sessions existantes, pour ce faire, exécuter les commandes suivantes :

rake tmp:cache:clear
rake tmp:sessions:clear

2. Redémarrez l'application (ex : mongrel, thin, passenger)

3. Finalement, lancez votre navigateur et allez dans "Administration -> Rôles & permissions" pour vérifier et/ou paramétrer les permissions sur les nouvelles fonctionnalités, s'il y en a.

Problémes fréquents

Erreurs avec la gestion des dépôts

Generation d'un nouveau secret secret_token.rb

Avant 2.0.0, un fichier session_store.rb devait être généré dans le répertoire config pour permettre les sessions basées sur les fichiers témoins (cookies).

À partir de la version 2.0.0 le fichier session_store.rb ne devrait plus exister. À la place la commande suivante va générer le fichier secret_token.rb.

rake generate_secret_token

Note: le dépot du code de Redmine ne contient pas pas le fichier config/initializers/secret_token.rb file, c'est le code précédent qui le crée.

Erreurs pour member_roles

Si vous avez raté une mise à jour/migration dans le passé, vous pouvez avoir une table member_roles et/ou group_users déjà existante et la migration de BD mentionnée précédemment échouera. Simplement renommez les tables en ouvrant une console de commande sur MySql et en exécutant les commandes suivantes:

mysql> rename table member_roles to member_roles_saved
mysql> rename table groups_users to groups_users_saved

Erreurr au sujet de "undefined method `add_frozen_gem_path'"

Si vous avez cette erreur, vérifiez si le répertoire vendor/rails existe et retirez ou renommez le. Il pourrait avoir une vieille version de Ruby on Rails.

Références

Ces références peuvent vous aider à la mise à niveau de Redmine: