FrRedmineUpgrade » History » Version 18

Pierre Labrie, 2012-09-21 23:27
Ajustements avec la version officielle anglaise en date du 2012-09-21

1 1 Fabrice Phung
h1. Mise à jour
2 1 Fabrice Phung
3 18 Pierre Labrie
p{color:red}. La documentation ci-dessous suppose une migration vers Redmine 2.x
4 18 Pierre Labrie
La version précédente est disponible "ici":http://www.redmine.org/projects/redmine/wiki/FrRedmineUpgrade?version=8 .
5 18 Pierre Labrie
6 5 yannick quenec'hdu
{{>toc}}
7 2 yannick quenec'hdu
8 5 yannick quenec'hdu
h2. Étape 1 - Vérifier les pré-requis
9 1 Fabrice Phung
10 7 yannick quenec'hdu
La première étape pour la mise à jour de Redmine est de vérifier que vous remplissez les [[FrRedmineInstall#Exigence|exigences]] de la version que vous vous apprêtez à installer.
11 1 Fabrice Phung
12 5 yannick quenec'hdu
h2. Étape 2 - Sauvegarde
13 1 Fabrice Phung
14 8 yannick quenec'hdu
Il est recommandé de [[FrRedmineInstall#Sauvegarde|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.
15 1 Fabrice Phung
16 5 yannick quenec'hdu
h2. Étape 3 - réaliser la mise à jour
17 5 yannick quenec'hdu
18 5 yannick quenec'hdu
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 :
19 5 yannick quenec'hdu
20 5 yannick quenec'hdu
h3. Option 1 - Mettre à jour depuis une version téléchargée (fichier tar.gz ou zip)
21 5 yannick quenec'hdu
22 5 yannick quenec'hdu
1. Décompresser la nouvelle archive du programme dans un nouveau répertoire.
23 5 yannick quenec'hdu
24 9 Pierre Labrie
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_.
25 5 yannick quenec'hdu
26 9 Pierre Labrie
3a. Copiez vos paramètres de configuration @config/configuration.yml@ dans le nouveau répertoire de configuration @config@.
27 5 yannick quenec'hdu
28 9 Pierre Labrie
3b. Si vous migrez depuis une version plus vielle qe 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@.
29 1 Fabrice Phung
30 14 Pierre Labrie
4. Copiez le contenu de @files@ dans le répertoire @files@ de votre nouvelle installation
31 1 Fabrice Phung
32 14 Pierre Labrie
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.
33 9 Pierre Labrie
34 1 Fabrice Phung
6. Exécturer les commandes suivantes depuis le répertoire Redmine de votre nouvelle installation
35 5 yannick quenec'hdu
36 9 Pierre Labrie
<pre>
37 9 Pierre Labrie
rake config/initializers/session_store.rb
38 1 Fabrice Phung
</pre>
39 9 Pierre Labrie
40 14 Pierre Labrie
Si vous utilisez une nouvelle version de Redmine, les fichiers indiqués au dessous n'existent pas encore. Pour ces versions, exécutez :
41 14 Pierre Labrie
<pre>
42 9 Pierre Labrie
rake generate_session_store
43 1 Fabrice Phung
</pre>
44 1 Fabrice Phung
45 9 Pierre Labrie
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.
46 14 Pierre Labrie
47 15 Pierre Labrie
À 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.
48 15 Pierre Labrie
49 15 Pierre Labrie
<pre>
50 15 Pierre Labrie
rake generate_secret_token
51 15 Pierre Labrie
</pre>
52 1 Fabrice Phung
53 18 Pierre Labrie
Voir la note à la [[FrRedmineUpgrade#Problémes fréquents|fin]] concernant la génération du secret
54 5 yannick quenec'hdu
55 5 yannick quenec'hdu
7. Vérifier pour tous les thèmes que vous possédez que vous pouvez les installer dans le répertoire "public/themes". Vous pouvez les copier, mais il est préférable de vérifier qu'il y a une version mise à jour.
56 5 yannick quenec'hdu
57 6 yannick quenec'hdu
TRÈS IMPORTANT : Ne pas écraser le fichier config/settings.yml avec l'ancienne version
58 5 yannick quenec'hdu
59 1 Fabrice Phung
h3. Option 2 - Mettre à jour depuis un checkout SVN  [[FrRedmineRepositories|Dépot]]
60 1 Fabrice Phung
61 5 yannick quenec'hdu
1. Allez dans le répertoire racine de Redmine et exécutez la commande suivante:
62 5 yannick quenec'hdu
63 5 yannick quenec'hdu
  <pre>
64 1 Fabrice Phung
svn update
65 1 Fabrice Phung
</pre>
66 5 yannick quenec'hdu
67 1 Fabrice Phung
68 10 Pierre Labrie
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.
69 7 yannick quenec'hdu
70 5 yannick quenec'hdu
h2. Étape 4 - Mise à jour de la base de données
71 5 yannick quenec'hdu
72 1 Fabrice Phung
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 :
73 5 yannick quenec'hdu
74 1 Fabrice Phung
<pre>
75 1 Fabrice Phung
rake db:migrate RAILS_ENV=production 
76 5 yannick quenec'hdu
</pre>
77 1 Fabrice Phung
78 11 Pierre Labrie
Si vous avez installé des plugin, vous devrez effectuer une migration de la base de données. Effectuer la commande suivante :
79 1 Fabrice Phung
80 5 yannick quenec'hdu
<pre>
81 11 Pierre Labrie
rake redmine:plugins:migrate RAILS_ENV=production 
82 1 Fabrice Phung
</pre>
83 1 Fabrice Phung
84 11 Pierre Labrie
Ou pour Windows:
85 11 Pierre Labrie
86 1 Fabrice Phung
<pre>
87 11 Pierre Labrie
set RAILS_ENV=production
88 11 Pierre Labrie
rake db:migrate  
89 11 Pierre Labrie
</pre>
90 11 Pierre Labrie
91 11 Pierre Labrie
<pre>
92 11 Pierre Labrie
set RAILS_ENV=production
93 11 Pierre Labrie
rake redmine:plugins:migrate  
94 5 yannick quenec'hdu
</pre>
95 1 Fabrice Phung
96 5 yannick quenec'hdu
h2. Étape 5 - Nettoyage 
97 1 Fabrice Phung
98 5 yannick quenec'hdu
1. Vous devez nettoyer le cache et les sessions existantes, pour ce faire, exécuter les commandes suivantes :
99 5 yannick quenec'hdu
100 5 yannick quenec'hdu
<pre>
101 5 yannick quenec'hdu
rake tmp:cache:clear
102 1 Fabrice Phung
rake tmp:sessions:clear
103 5 yannick quenec'hdu
</pre>
104 1 Fabrice Phung
105 5 yannick quenec'hdu
2. Redémarrez l'application (ex : mongrel, thin, passenger) 
106 1 Fabrice Phung
107 16 Pierre Labrie
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.
108 12 Pierre Labrie
109 12 Pierre Labrie
h2. Problémes fréquents
110 12 Pierre Labrie
111 12 Pierre Labrie
h3. Erreurs avec la gestion des dépôts
112 12 Pierre Labrie
113 12 Pierre Labrie
114 12 Pierre Labrie
h3. Generation d'un nouveau secret @secret_token.rb@
115 12 Pierre Labrie
116 12 Pierre Labrie
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_).
117 12 Pierre Labrie
118 12 Pierre Labrie
À 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@.
119 12 Pierre Labrie
120 12 Pierre Labrie
121 12 Pierre Labrie
<pre>
122 12 Pierre Labrie
rake generate_secret_token
123 12 Pierre Labrie
</pre>
124 12 Pierre Labrie
125 12 Pierre Labrie
> 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.
126 12 Pierre Labrie
127 12 Pierre Labrie
h3. Erreurs pour @member_roles@
128 12 Pierre Labrie
129 13 Pierre Labrie
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:
130 12 Pierre Labrie
131 12 Pierre Labrie
<pre>
132 12 Pierre Labrie
mysql> rename table member_roles to member_roles_saved
133 12 Pierre Labrie
mysql> rename table groups_users to groups_users_saved
134 12 Pierre Labrie
</pre>
135 12 Pierre Labrie
136 12 Pierre Labrie
h3. Erreurr au sujet de "undefined method `add_frozen_gem_path'"
137 12 Pierre Labrie
138 12 Pierre Labrie
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. 
139 12 Pierre Labrie
140 12 Pierre Labrie
h3. Références
141 12 Pierre Labrie
142 12 Pierre Labrie
Ces références peuvent vous aider à la mise à niveau de Redmine:
143 12 Pierre Labrie
144 12 Pierre Labrie
* "mod_fcgid for Apache2":http://httpd.apache.org/mod_fcgid/  pour aider au fonctionnement de Rails sur Apache 2
145 12 Pierre Labrie
* "Running Redmine on Apache":http://www.redmine.org/wiki/redmine/HowTo_configure_Apache_to_run_Redmine
146 12 Pierre Labrie
* "Notes about our 0.8.6 to 0.9.3 upgrade issues and how to resolve them":http://www.cybersprocket.com/2010/project-management/upgrading-redmine-from-8-6-to-9-3/ --cybersprocket (2010-04-25)
147 12 Pierre Labrie
* "Notes about our 0.9.6 to 1.0(RC) upgrade process":http://www.cybersprocket.com/2010/tips-tricks/upgrading-redmine-from-0-9-6-to-1-0-0/ --cybersprocket (2010-08-14)