ia_dev/deploy/lib/README.md
Nicolas Cantu 0a9d6e001b feat(deploy): generic orchestrator and deploy.sh entry
**Motivations:**
- Single generic orchestration in ia_dev while business logic stays in each project repo

**Root causes:**
- N/A (evolution)

**Correctifs:**
- N/A

**Evolutions:**
- Add orchestrator.sh (deploy.hooks.phases or fallback deploy.deploy_script_path)
- Add deploy.sh <project_id> <env> [options] as canonical entry from ia_dev root
- run-project-hooks.sh execs orchestrator.sh for backward compatibility
- change-to-all-branches.sh and deploy-by-script-to.sh invoke orchestrator.sh when IA_PROJECT_ID is set
- Document orchestration in README.md and deploy/lib/README.md

**Pages affectées:**
- README.md, deploy/orchestrator.sh, deploy/deploy.sh, deploy/run-project-hooks.sh, deploy/change-to-all-branches.sh, deploy/deploy-by-script-to.sh, deploy/lib/README.md
2026-03-23 13:04:18 +01:00

1.1 KiB
Raw Blame History

Shared deploy libraries (ia_dev)

ssh.sh

Canonical SSH/SCP helpers (ssh_run, scp_copy, require_ssh_key, ssh_common_opts) used across projects.
LeCoffre : deploy/scripts_v2/_lib/ssh.sh sources ia_dev/deploy/lib/ssh.sh when the submodule path ia_dev/deploy/lib/ssh.sh exists from the repo root; otherwise it embeds the same implementation.

deploy-log.sh

Optional deploy_script_tee_log_if_requested <project_root> <log_subdir> — requires info from the projects colors.sh (sourced before this file in deploy.sh).

Policy

Project-specific logic (Prisma, systemd unit names, remote app layout, LeCoffre domains) stays under each repositorys deploy/scripts_v2/. Only transport/logging helpers live here.

Orchestration (../orchestrator.sh, ../deploy.sh)

  • deploy.sh : ./deploy/deploy.sh <project_id> <env> [args] — generic entry; business scripts live in the target repo (deploy_script_path / hooks.phases).
  • orchestrator.sh : runs phases or fallback script; run-project-hooks.sh execs it for backward compatibility.