...
- Esiste un git repo unico sia per la parte controller che per la parte compute con 2 branch:
- Il branch 'main' viene usato nella cloud di produzione (environment 'production' di puppet)
- Il branch 'testing' viene usato nella cloud di test (environment 'testing' di puppet
- Il codice puppet che viene usato sta in cld-config. ma non si deve MAI modificare i sorgenti puppet direttamente su cld-config
- Modifiche al codice vanno implementate:
- Per cloud di test committando (lavorando sulla propria postazione di lavoro) committando sul branch testing. Queste vengono apoi utomaticamente "scaricate" in cld-config
- Per cloud di produzione (quindi branch main) solo come pull request lavorando sulla propria postazione di lavoro. Una volta che sono approvate (e quindi mergiate nel branch main
- ) queste vengono automaticamente "scaricate" in cld-config
Setup iniziale dell'ambiente sulla propria postazione di lavoro
...
| Code Block |
|---|
$ cd ~/Workdir/puppet_epoxy/ $ git checkout testing Switched to branch 'testing' Your branch setis up to trackdate with 'origin/testing'. $ git pull Already up to date. |
Se serve modificare anche un file params.pp, farne prima il decrypt (decrypt che avviene solo locamente: sul repo i file restano cryptati):
| Code Block |
|---|
git crypt unlock ~/Workdir/KeyRepoEpoxyTesting |
A questo punto faccio le modifiche sul branch testing, che poi committo e pusho:
| Code Block |
|---|
# fai modifiche
git add <files modificati>
git commit -m "Messaggio" <files modificati> git push |
Modifica del codice puppet per la cloud di produzione
Mi accerto che la copia locale del mio repo (branch main) sia aggiornata:
| Code Block |
|---|
$ cd ~/Workdir/puppet_epoxy/ $ git checkout main Switched to a newbranch 'main' Your branch is 'testing' up to date with 'origin/main'. $ git pull Already up to date. |
...
Come base specifica il branch 'testingmain'. In compare deve esserci il nome del branch creato
...