|
Bogdan Timofte
authored
4 days ago
|
1
|
# Deployment and Operations Development Log
|
|
|
2
|
|
|
|
3
|
Decizii despre GitPrep, jumper, deploy, runtime paths, dependency policy si disciplina commit/push.
|
|
|
4
|
|
|
|
5
|
## 2026-06-06 - Repository and Deployment Split
|
|
|
6
|
|
|
|
7
|
Decizie: codul aplicatiei se dezvolta local si se publica in GitPrep. Jumper ramane runtime/deploy target.
|
|
|
8
|
|
|
|
9
|
Locatii:
|
|
|
10
|
|
|
|
11
|
- checkout local: `/Users/bogdan/Documents/Workspaces/Xdev/Madagascar/LocalAuthority`
|
|
|
12
|
- GitPrep canonical remote: `git@192.168.2.102:repositories/bogdan/LocalAuthority.git`
|
|
|
13
|
- GitPrep web: `http://192.168.2.102:3000/bogdan/LocalAuthority`
|
|
|
14
|
- runtime jumper: `/usr/local/xdev-host-manager`
|
|
|
15
|
|
|
|
16
|
Motiv:
|
|
|
17
|
|
|
|
18
|
- editarea directa pe jumper amesteca dezvoltarea cu runtime-ul
|
|
|
19
|
- aplicatia are acum scope mai mare si va continua sa evolueze
|
|
|
20
|
- avem nevoie de istoric, review si deploy controlat
|
|
|
21
|
|
|
|
22
|
Regula:
|
|
|
23
|
|
|
|
24
|
- `scripts/deploy_to_jumper.sh` publica aplicatia pe jumper
|
|
|
25
|
- `config/` nu se copiaza implicit
|
|
|
26
|
- `config/` se copiaza doar cu `--include-config`, la cerere explicita
|
|
|
27
|
|
|
|
28
|
## 2026-06-06 - Dependency Policy
|
|
|
29
|
|
|
|
30
|
Regula: nu se instaleaza npm, pip sau CPAN direct pe hosturi.
|
|
|
31
|
|
|
|
32
|
Acceptat:
|
|
|
33
|
|
|
|
34
|
- pachete din distributie, cand sunt necesare
|
|
|
35
|
- Perl din distributie
|
|
|
36
|
- module Perl core/distribution
|
|
|
37
|
|
|
|
38
|
CPAN se foloseste doar daca pachetul ajunge prin repo-ul local auditat.
|
|
|
39
|
|
|
|
40
|
Pachete de sistem instalate in timpul evolutiei:
|
|
|
41
|
|
|
|
42
|
- `ripgrep` pe jumper
|
|
|
43
|
- `rsync` pe jumper
|
|
|
44
|
- `sqlite` pe jumper
|
|
|
45
|
- `perl-DBD-SQLite` pe jumper
|
|
|
46
|
- `sqlite3` pe mazeri/GitPrep
|
|
|
47
|
|
|
|
48
|
## 2026-06-08 - Commit and Push Is the Development Contract
|
|
|
49
|
|
|
|
50
|
Observatie: schimbarile lasate mult timp ca dirty working tree se pierd usor in timpul deploy-urilor, reseturilor si schimbarilor de context. Pentru development, unitatea de lucru trebuie sa fie commit-ul local, nu un set de fisiere uitate in stare necomisa.
|
|
|
51
|
|
|
|
52
|
Decizie:
|
|
|
53
|
|
|
|
54
|
- se lucreaza cu commit-uri locale mici si coerente
|
|
|
55
|
- pentru test live, commit-ul se impinge in checkout-ul runtime de pe jumper cu `git push jumper-runtime HEAD:main`
|
|
|
56
|
- pentru arhivare si istoric canonic, acelasi commit se impinge in GitPrep cu `git push origin main`
|
|
|
57
|
- jumper ramane target de test live, nu locul principal de editare
|
|
|
58
|
- `scripts/deploy_to_jumper.sh` ramane unealta explicita de rsync deploy, dar nu inlocuieste disciplina commit/push
|
|
|
59
|
- `BUILD` ramane sursa vizibila pentru ce versiune ruleaza
|
|
|
60
|
|
|
|
61
|
Scop:
|
|
|
62
|
|
|
|
63
|
- niciun front de lucru sa nu ramana doar in fisiere dirty locale sau runtime
|
|
|
64
|
- testul live pe jumper sa fie legat de un commit identificabil
|
|
|
65
|
- GitPrep sa pastreze istoria canonica pentru arhivare si recuperare
|
|
|
66
|
- badge-ul de build si meta tag-ul `xdev-build` devin verificarea rapida pentru ce ruleaza
|