feat: relative paths in projects/conf.json and cron pull resolution
- project_path, deploy.*, cron: resolve from monorepo root; ia_dev submodule bumped - enso/smart_ide.code-workspace folder paths ../../enso, ../../builazoo - Document in projects/README, remote-deployed-data-ssh.md
This commit is contained in:
parent
01860b7af7
commit
4d04eed0f3
@ -86,5 +86,8 @@ for conf in "$PROJECTS_CONF"/*/conf.json; do
|
||||
echo "$LOG_PREFIX skip $id: empty project_path"
|
||||
continue
|
||||
fi
|
||||
if [[ "$path" != /* ]]; then
|
||||
path="$(cd "$ROOT" && realpath -m "$path" 2>/dev/null || echo "$ROOT/$path")"
|
||||
fi
|
||||
pull_clone "$id" "$path" || true
|
||||
done
|
||||
|
||||
@ -47,6 +47,8 @@ flowchart TB
|
||||
|
||||
## Déclaration dans `projects/<id>/conf.json`
|
||||
|
||||
Les chemins **locaux** vers clones (`project_path`, `deploy.repository_root`, etc.) sont **relatifs à la racine du monorepo smart_ide** (ou absolus). Les **`path_on_server`** sous `smart_ide.remote_data_access` restent des chemins **absolus sur la machine déployée**.
|
||||
|
||||
Bloc optionnel **`smart_ide`** (ignoré par les outils qui ne le lisent pas, ex. parties d’**ia_dev** qui ne sélectionnent que leurs champs) :
|
||||
|
||||
- **`remote_data_access.environments.<test|pprod|prod>`** : pour chaque environnement,
|
||||
|
||||
2
ia_dev
2
ia_dev
@ -1 +1 @@
|
||||
Subproject commit 756bab0cd8d4d77dd2e83eaf108efc4c9d132fa1
|
||||
Subproject commit a7b5998f61c03dc219e077ab4fa95253ff61bc20
|
||||
@ -7,7 +7,7 @@ Ce répertoire, à la **racine du monorepo `smart_ide`**, ne contient que les **
|
||||
Les dépôts sources des produits (ex. backend **docv** sous un chemin du type `…/enso/docv`, autres apps) doivent vivre **ailleurs**, selon la convention du poste — typiquement un répertoire **frère** du monorepo, par ex. **`../projects/<nom>/`** (relatif à la racine `smart_ide`), **distinct** de `./projects/` ici.
|
||||
|
||||
- **`./projects/`** (ce dossier) → uniquement `conf.json` (+ métadonnées légères) pour que `ia_dev` résolve `projects/<id>/conf.json` via le lien symbolique décrit dans [docs/ia_dev-module.md](../docs/ia_dev-module.md).
|
||||
- **`../projects/`** (ou autre racine configurée) → arborescences Git complètes, builds, etc. ; `project_path` dans chaque `conf.json` pointe vers ces chemins **absolus**.
|
||||
- **`../projects/`** (ou autre racine configurée) → arborescences Git complètes, builds, etc. ; dans chaque `conf.json`, **`project_path`** et les chemins **`deploy.*`** utiles sont **relatifs à la racine du monorepo smart_ide** (ex. `../enso`, `.`) ou **absolus** ; le script `cron/git-pull-project-clones.sh` et ia_dev les résolvent depuis cette racine (voir `ia_dev/lib/conf_path_resolve.sh`).
|
||||
|
||||
## `smart_ide`
|
||||
|
||||
@ -16,7 +16,7 @@ Les dépôts sources des produits (ex. backend **docv** sous un chemin du type `
|
||||
|
||||
## `enso`
|
||||
|
||||
- Fichier : [`enso/conf.json`](./enso/conf.json) — monorepo **enso** (`project_path` typique `/home/ncantu/code/enso`), déploiement `deploy/scripts_v2`, forge **4nk/enso** (wiki / issues), mails ticketing `AI.ENSO.*@4nkweb.com`.
|
||||
- Fichier : [`enso/conf.json`](./enso/conf.json) — clone **enso** frère du monorepo (`project_path` typique `../enso`), déploiement `deploy/scripts_v2`, forge **4nk/enso** (wiki / issues), mails ticketing `AI.ENSO.*@4nkweb.com`.
|
||||
- Cron fragment : [`cron/fragments/enso.cron`](../cron/fragments/enso.cron).
|
||||
- Pour que **`ia_dev`** résolve `projects/enso/conf.json`, créer sous `ia_dev/projects/` un lien symbolique `enso` → `../../projects/enso` (même principe que `smart_ide`).
|
||||
|
||||
@ -28,7 +28,7 @@ Pour **chaque** `projects/<id>/conf.json`, le tirage automatique utilise la **co
|
||||
- Désactiver pour un id projet : `"cron": { "git_pull": false }` dans le `conf.json` concerné.
|
||||
- Désactiver tout le mécanisme : `PULL_SYNC_ENABLED=0` dans `config.env` ou `cron/config.local.env`.
|
||||
|
||||
Détail : [`cron/README.md`](../cron/README.md). Les clones restent sous le chemin **absolu** `project_path`.
|
||||
Détail : [`cron/README.md`](../cron/README.md). `project_path` est résolu en chemin absolu à partir de la racine **smart_ide** lorsqu’il est relatif.
|
||||
|
||||
## Données déployées, SSH, AnythingLLM et IDE
|
||||
|
||||
|
||||
@ -4,22 +4,22 @@
|
||||
"cron": {
|
||||
"git_pull": true
|
||||
},
|
||||
"project_path": "/home/ncantu/code/enso",
|
||||
"project_path": "../enso",
|
||||
"build_dirs": [
|
||||
"/home/ncantu/code/enso",
|
||||
"/home/ncantu/code/enso/enso/enso-front"
|
||||
".",
|
||||
"enso/enso-front"
|
||||
],
|
||||
"deploy": {
|
||||
"repository_root": "/home/ncantu/code/enso",
|
||||
"scripts_path": "/home/ncantu/code/enso/deploy/scripts_v2",
|
||||
"deploy_script_path": "/home/ncantu/code/enso/deploy/scripts_v2/deploy.sh",
|
||||
"repository_root": "../enso",
|
||||
"scripts_path": "../enso/deploy/scripts_v2",
|
||||
"deploy_script_path": "../enso/deploy/scripts_v2/deploy.sh",
|
||||
"project_orchestrator_path": "deploy/scripts_v2/deploy.sh",
|
||||
"secrets_path": "/home/ncantu/code/enso/.secrets"
|
||||
"secrets_path": "../enso/.secrets"
|
||||
},
|
||||
"version": {
|
||||
"package_json_paths": [
|
||||
"/home/ncantu/code/enso/package.json",
|
||||
"/home/ncantu/code/enso/enso/enso-front/package.json"
|
||||
"package.json",
|
||||
"enso/enso-front/package.json"
|
||||
],
|
||||
"splash_app_name": "enso"
|
||||
},
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
"path": "../.."
|
||||
},
|
||||
{
|
||||
"path": "../../../enso"
|
||||
"path": "../../enso"
|
||||
},
|
||||
{
|
||||
"path": "../../../builazoo"
|
||||
"path": "../../builazoo"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"smartIde.activeProjectId": "enso"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
"cron": {
|
||||
"git_pull": true
|
||||
},
|
||||
"project_path": "/home/ncantu/code/smart_ide",
|
||||
"project_path": ".",
|
||||
"build_dirs": [],
|
||||
"deploy": {},
|
||||
"version": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user