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"
|
echo "$LOG_PREFIX skip $id: empty project_path"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
if [[ "$path" != /* ]]; then
|
||||||
|
path="$(cd "$ROOT" && realpath -m "$path" 2>/dev/null || echo "$ROOT/$path")"
|
||||||
|
fi
|
||||||
pull_clone "$id" "$path" || true
|
pull_clone "$id" "$path" || true
|
||||||
done
|
done
|
||||||
|
|||||||
@ -47,6 +47,8 @@ flowchart TB
|
|||||||
|
|
||||||
## Déclaration dans `projects/<id>/conf.json`
|
## 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) :
|
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,
|
- **`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.
|
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/`** (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`
|
## `smart_ide`
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ Les dépôts sources des produits (ex. backend **docv** sous un chemin du type `
|
|||||||
|
|
||||||
## `enso`
|
## `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).
|
- 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`).
|
- 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 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é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
|
## Données déployées, SSH, AnythingLLM et IDE
|
||||||
|
|
||||||
|
|||||||
@ -4,22 +4,22 @@
|
|||||||
"cron": {
|
"cron": {
|
||||||
"git_pull": true
|
"git_pull": true
|
||||||
},
|
},
|
||||||
"project_path": "/home/ncantu/code/enso",
|
"project_path": "../enso",
|
||||||
"build_dirs": [
|
"build_dirs": [
|
||||||
"/home/ncantu/code/enso",
|
".",
|
||||||
"/home/ncantu/code/enso/enso/enso-front"
|
"enso/enso-front"
|
||||||
],
|
],
|
||||||
"deploy": {
|
"deploy": {
|
||||||
"repository_root": "/home/ncantu/code/enso",
|
"repository_root": "../enso",
|
||||||
"scripts_path": "/home/ncantu/code/enso/deploy/scripts_v2",
|
"scripts_path": "../enso/deploy/scripts_v2",
|
||||||
"deploy_script_path": "/home/ncantu/code/enso/deploy/scripts_v2/deploy.sh",
|
"deploy_script_path": "../enso/deploy/scripts_v2/deploy.sh",
|
||||||
"project_orchestrator_path": "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": {
|
"version": {
|
||||||
"package_json_paths": [
|
"package_json_paths": [
|
||||||
"/home/ncantu/code/enso/package.json",
|
"package.json",
|
||||||
"/home/ncantu/code/enso/enso/enso-front/package.json"
|
"enso/enso-front/package.json"
|
||||||
],
|
],
|
||||||
"splash_app_name": "enso"
|
"splash_app_name": "enso"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -4,10 +4,10 @@
|
|||||||
"path": "../.."
|
"path": "../.."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "../../../enso"
|
"path": "../../enso"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "../../../builazoo"
|
"path": "../../builazoo"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
"cron": {
|
"cron": {
|
||||||
"git_pull": true
|
"git_pull": true
|
||||||
},
|
},
|
||||||
"project_path": "/home/ncantu/code/smart_ide",
|
"project_path": ".",
|
||||||
"build_dirs": [],
|
"build_dirs": [],
|
||||||
"deploy": {},
|
"deploy": {},
|
||||||
"version": {
|
"version": {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user