You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Work in progress



Overview


Usiamo un meccanismo di CI/CD per cui:

  • 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 come pull request lavorando sulla propria postazione di lavoro. Una volta che sono approvate (e quindi mergiate nel branch main/testing) queste vengono automaticamente "scaricate" in cld-config




Setup iniziale dell'ambiente sulla propria postazione di lavoro


Installazione git-crypt


Va installato git-crypt

Per i sistemi RHEL compliant esiste in EPEL (quindi 'yum install git-crypt')

Se non c'e' il pacchetto per la propria distribuzione, si puo' installare da sorgente (dipendenze: gcc-c++ e openssl-devel):



git clone https://github.com/AGWA/git-crypt.git
make
make install PREFIX=/usr/local



Download del repo git



mkdir ~/Workdir
cd ~/Workdir
git clone https://github.com/CloudPadovana/puppet_epoxy.git




Scaricare la chiave per il crypting dei file params.pp


Scarico da cld-config il file /var/puppet/KeyRepoEpoxyTesting e copiarlo ad esempio in ~/Workdir



Modifica del codice puppet per la cloud di test


Mi accerto che la copia locale del mio repo (branch testing) sia aggiornata:



$ cd ~/Workdir/puppet_epoxy/

$ git checkout testing
branch 'testing' set up to track 'origin/testing'.
Switched to a new branch '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):


git crypt unlock ~/Workdir/KeyRepoEpoxyTesting


A questo punto creo un nuovo branch e qua ci faccio le modifiche che committo e pusho:


git checkout -b <nome-del-branch>
# fai modifiche
git add <files modificati>
git commit -m "Messaggio" <files modificati>
git push origin <nome-del-branch>



Creo la pull request:


Vado in: https://github.com/CloudPadovana → Pull requests

Dovrebbe appparire un bottone "Compare & Pull Request" con il nome del branch: cliccaci 


Come base specifica il branch 'testing'. In compare deve esserci il nome del branch creato

Metti una breve descrizione e clicca su "Create pull request"






  • No labels