FrRedmineUpgrade » History » Version 9

Pierre Labrie, 2012-09-21 20:59

1 1 Fabrice Phung
h1. Mise à jour
2 1 Fabrice Phung
3 5 yannick quenec'hdu
{{>toc}}
4 2 yannick quenec'hdu
5 5 yannick quenec'hdu
h2. Étape 1 - Vérifier les pré-requis
6 1 Fabrice Phung
7 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.
8 1 Fabrice Phung
9 5 yannick quenec'hdu
h2. Étape 2 - Sauvegarde
10 1 Fabrice Phung
11 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.
12 1 Fabrice Phung
13 5 yannick quenec'hdu
h2. Étape 3 - réaliser la mise à jour
14 5 yannick quenec'hdu
15 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 :
16 5 yannick quenec'hdu
17 5 yannick quenec'hdu
h3. Option 1 - Mettre à jour depuis une version téléchargée (fichier tar.gz ou zip)
18 5 yannick quenec'hdu
19 5 yannick quenec'hdu
1. Décompresser la nouvelle archive du programme dans un nouveau répertoire.
20 5 yannick quenec'hdu
21 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_.
22 5 yannick quenec'hdu
23 9 Pierre Labrie
3a. Copiez vos paramètres de configuration @config/configuration.yml@ dans le nouveau répertoire de configuration @config@.
24 5 yannick quenec'hdu
25 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@.
26 1 Fabrice Phung
27 9 Pierre Labrie
4. Copiez le contenu de @RAILS_ROOT/files@ dans le répertoire de votre nouvelle installation
28 1 Fabrice Phung
29 9 Pierre Labrie
5. Copiez le répertoire contenant vos plugin personnalisé 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 Remine de votre précdente installation.
30 9 Pierre Labrie
31 1 Fabrice Phung
6. Exécturer les commandes suivantes depuis le répertoire Redmine de votre nouvelle installation
32 5 yannick quenec'hdu
33 9 Pierre Labrie
<pre>
34 9 Pierre Labrie
rake config/initializers/session_store.rb
35 9 Pierre Labrie
</pre>
36 5 yannick quenec'hdu
37 9 Pierre Labrie
Si vous utilisez une nouvelle version de Redmine, les fichiers indiqués au dessous n'existent pas encore. Pour ces versions, exécuter :<pre>
38 9 Pierre Labrie
rake generate_session_store
39 9 Pierre Labrie
</pre>
40 5 yannick quenec'hdu
41 5 yannick quenec'hdu
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.
42 5 yannick quenec'hdu
43 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.
44 5 yannick quenec'hdu
45 6 yannick quenec'hdu
TRÈS IMPORTANT : Ne pas écraser le fichier config/settings.yml avec l'ancienne version
46 5 yannick quenec'hdu
47 1 Fabrice Phung
h3. Option 2 - Mettre à jour depuis un checkout SVN  [[FrRedmineRepositories|Dépot]]
48 1 Fabrice Phung
49 5 yannick quenec'hdu
1. Allez dans le répertoire racine de Redmine et exécutez la commande suivante:
50 5 yannick quenec'hdu
51 5 yannick quenec'hdu
  <pre>
52 1 Fabrice Phung
svn update
53 1 Fabrice Phung
</pre>
54 5 yannick quenec'hdu
55 1 Fabrice Phung
56 5 yannick quenec'hdu
2. Si vous faites une mise à jour depuis une ancienne version vers la 0.8.7 ou supérieur (depuis une version du trunk). Vous devez générer un secret pour le stockage des cookies, avec la commande suivante :
57 1 Fabrice Phung
58 5 yannick quenec'hdu
  rake generate_session_store
59 5 yannick quenec'hdu
60 7 yannick quenec'hdu
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.
61 5 yannick quenec'hdu
62 5 yannick quenec'hdu
h2. Étape 4 - Mise à jour de la base de données
63 5 yannick quenec'hdu
64 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 :
65 5 yannick quenec'hdu
66 1 Fabrice Phung
<pre>
67 1 Fabrice Phung
rake db:migrate RAILS_ENV=production 
68 5 yannick quenec'hdu
</pre>
69 1 Fabrice Phung
70 5 yannick quenec'hdu
Si vous avez installé des plugin, vous devrez effectuer une migration de la base de données. Effectuer les commandes suivantes :
71 5 yannick quenec'hdu
72 5 yannick quenec'hdu
<pre>
73 1 Fabrice Phung
rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production 
74 5 yannick quenec'hdu
</pre>
75 5 yannick quenec'hdu
76 5 yannick quenec'hdu
<pre>
77 1 Fabrice Phung
rake db:migrate_plugins RAILS_ENV=production 
78 5 yannick quenec'hdu
</pre>
79 1 Fabrice Phung
80 5 yannick quenec'hdu
h2. Étape 5 - Nettoyage 
81 1 Fabrice Phung
82 5 yannick quenec'hdu
1. Vous devez nettoyer le cache et les sessions existantes, pour ce faire, exécuter les commandes suivantes :
83 5 yannick quenec'hdu
84 5 yannick quenec'hdu
<pre>
85 5 yannick quenec'hdu
rake tmp:cache:clear
86 1 Fabrice Phung
rake tmp:sessions:clear
87 5 yannick quenec'hdu
</pre>
88 1 Fabrice Phung
89 5 yannick quenec'hdu
2. Redémarrez l'application (ex : mongrel, thin, passenger) 
90 1 Fabrice Phung
91 1 Fabrice Phung
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.