Guide de déploiement automatisé d'openJiuwen pour environnements Windows

Introduction

openJiuwen est un outil performant dont la facilité de déploiement impacte directement l'expérience utilisateur. Pour simplifier les processus traditionnels souvent complexes, ce guide propose une méthode standardisée et réutilisable pour une installation automatisée sur Windows. Il couvre l'ensemble des étapes, depuis l'analyse des fichiers d'installation jusqu'à la configuration des dépendances clés, en passant par l'exécution de scripts et la vérification des versions. Cette solution automatise les vérifications des prérequis, le clonage du code et le déploiement des services, tout en offrant des options de configuration pour les proxys et les sources de paquets.

  1. Contenu du package d'installation

Le package d'installation contient plusieurs scripts PowerShell qui orchestrent le processus de déploiement :

  • deploy_main.ps1 : script principle qui coordonne l'ensemble de l'installation.
  • verify_git.ps1 : vérifie la présence de Git sur le système.
  • verify_nodejs.ps1 : vérifie l'installation de Node.js.
  • verify_python.ps1 : vérifie l'installation de Python.
  • verify_mysql.ps1 : vérifie l'installation de MySQL.
  • clone_project.ps1 : clone le dépôt source d'agent-studio.
  • user_settings.ps1 : fichier de configuration utilisateur (optionnel) pour les proxys, sources pip et registres npm.
  1. Configuration du proxy et des sources (optionnel)

Si votre réseau nécessite un proxy pour accéder à Internet ou si vous souhaitez utiliser des sources de paquets alternatives, modifiez le fichier user_settings.ps1 comme suit :


# Paramètres de proxy
$netProxyHttp=""  # Adresse du proxy HTTP, ex: http://192.168.1.1:3128
$netProxyHttps=""  # Adresse du proxy HTTPS, ex: http://192.168.1.1:3128
$enableSslCheck=""  # Optionnel : true/false (active la vérification SSL pour Git)

# Configuration des sources pip (optionnel)
$pipSourceUrl=""      # URL de la source pip, ex: https://mirror.example.com/simple
$pipSourceHost=""   # Hôte de confiance, ex: mirror.example.com

# Configuration du registre npm (optionnel)
$npmMirrorUrl=""       # URL du registre npm, ex: https://npm.example.com

Explication des configurations

Proxy : laissez les variables vides si aucun proxy n'est nécessaire. Pour un proxy avec authentification, utilisez le format http://utilisateur:motdepasse@proxy.exemple.com:8080.

pip : pour utiliser un miroir, définissez à la fois $pipSourceUrl et $pipSourceHost. Exemples : miroir Tsinghua (https://pypi.tuna.tsinghua.edu.cn/simple, hôte pypi.tuna.tsinghua.edu.cn) ou Aliyun.

npm : configurez $npmMirrorUrl pour un registre alternatif, comme le miroir Taobao (https://registry.npmmirror.com).

  1. Exécution du script d'installation

3.1 Ajustement de la politique d'exécution PowerShell

Lancez PowerShell en tant qu'administrateur et exécutez :


Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Confirmez avec O pour autoriser l'exécution des scripts pour l'utilisateur courant.

3.2 Lancement du script principal

Naviguez vers le répertoire du package et lancez le script. Vous pouvez spécifier le type de base de données :


cd deploy_scripts_win
.\deploy_main.ps1
# Ou pour utiliser SQLite :
.\deploy_main.ps1 -DbEngine sqlite

3.3 Vérification de Node.js

Assurez-vous que Node.js v22 est installé et accessible :


node --version

3.4 Étapes automatisées du script

Une fois lancé, le script exécute automatiquement :

  1. Vérification de la version du système et de PowerShell.
  2. Contrôle des outils requis (Git, Node.js, Python) avec des messages d'erreur si manquants.
  3. Clonage du dépôt agent-studio.
  4. Génération d'une clé AES.
  5. Configuration du fichier .env en fonction du paramètre -DbEngine.
  6. Déploiement du backend (création d'un environnement virtuel, installation des dépendances, démarrage).
  7. Déploiement du frontend (installation des dépendances, démarrage).

3.5 Confirmation du déploiement

À la fin de l'exécution, le script affiche les PID des services, les chemins des journaux et l'URL d'accès au frontend. Une URL publique confirme le succès du déploiement.

  1. Configuration de Node.js v22

Node.js v22 est requis pour la compilation du frontend. Une version incorrecte entraînera des erreurs.

4.1 Vérification précise de Node.js v22

Méthode 1 : spécifeiz le chemin absolu de l'exécutable v22 pour éviter les conflits :


"C:\Chemin\vers\node-v22\node.exe" --version

Méthode 2 : après configuration des variables d'environnement :


node --version
npm --version

Résultat attendu : node v22.x.x et npm 10.x.x ou supérieur.

4.2 Installation via nvm pour gérer les versions

Utilisez nvm-windows pour installer et basculer entre les versions :


nvm install 22.11.0
nvm use 22.11.0

4.3 Exécution du script avec Node.js v22

Dans le répertoire du script, forcez l'utilisation de v22 :


.\node.exe --version
cmd /c "set PATH=%cd%;%PATH% && powershell .\deploy_main.ps1 -DbEngine sqlite"

4.4 Points clés de configuration

Priorisez le chemin de Node.js v22 dans les variables d'environnement système ou utilisateur. Redémarrez le terminal pour actualiser le cache. La vérification par chemin absolu garantit l'isolation des versions.

  1. Configuration de Python 3.11.4

Python 3.11.4 ou supérieur est nécessaire. Les versions trop récentes (comme 3.14) peuvent provoquer des incompatibilités.

5.1 Notes importantes

En cas de versions multiples, le chemin système a priorité. Le script utilise $env:PY_EXE pour pointer vers Python 3.11. La mise à jour de pip ne suffit pas pour changer la version de Python ; utilisez l'installeur officiel pour une mise à niveau.

5.2 Mise à jour et vérification de Python 3.11.4

Mettez à jour pip et setuptools pour la version cible :


"C:\Users\Nom\AppData\Local\Programs\Python\Python311\python.exe" -m pip install --upgrade pip setuptools --no-cache-dir

Vérifiez la version :


"C:\Users\Nom\AppData\Local\Programs\Python\Python311\python.exe" -V

Sortie attendue : Python 3.11.4.

5.3 Exécution avec Python 3.11.4

Définissez temporairement la variable d'environnement pour forcer l'utilisation de Python 3.11 :


$env:PY_EXE = "C:\Users\Nom\AppData\Local\Programs\Python\Python311\python.exe"
.\deploy_main.ps1 -DbEngine sqlite
  1. Déploiement avancé avec les scripts v2

6.1 Prérequis pour les scripts v2

Les conditions suivantes doivent être remplies :

  • Python 3.11.4 avec pip et setuptools mis à jour.
  • Node.js v22 accessible et fonctionnel.

6.2 Principes d'exécution des scripts v2

Toutes les commandes doivent être exécutées depuis le répertoire racine des scripts v2. Les scripts supportent la reprise après interruption ; confirmez avec o pour sauter les étapes achevées.

6.3 Configuration temporaire sans modification système

Utilisez des chemins absolus pour spécifeir les versions des outils, ce qui garantit une isolation sans affecter la configuration globale du système.

6.4 Commandes essentielles pour les scripts v2


# Naviguer vers le répertoire racine
cd deploy_scripts_v2_win
# Exécuter avec Python 3.11.4 spécifié
$env:PY_EXE = "C:\Users\Nom\AppData\Local\Programs\Python\Python311\python.exe"
.\deploy_main.ps1 -DbEngine sqlite
# Confirmer la reprise si nécessaire
o
  1. Paramètres courants du script

Le script offre plusieurs options pour gérer les services :


# Afficher l'état des services et les URLs d'accès
.\deploy_main.ps1 -CheckStatus
# Arrêter les services backend et frontend
.\deploy_main.ps1 -StopServices
# Démarrer les services
.\deploy_main.ps1 -StartServices
# Redémarrer les services
.\deploy_main.ps1 -RestartServices
# Afficher l'aide complète
.\deploy_main.ps1 -ShowHelp

Ressources associées

Étiquettes: openJiuwen PowerShell Node.js Python Windows

Publié le 6 juin à 01h19