Repositoris Git

Guarda formularis, fitxers de variables, configuració i playbooks a git


Per als administradors que guarden formularis, configuració i playbooks a git: què pot contenir un repositori i quina font té prioritat.


Per a què serveix un repositori

Un repositori és un remot git que AnsibleForms clona i manté al dia, i cadascun té interruptors que indiquen què conté:

Interruptor Què en llegeix AnsibleForms Carpeta del repositori
Utilitzar per a la configuració ? config.yaml amb les categories, els rols i les constants l’arrel
Utilitzar per als formularis ? Els fitxers de formulari, que el dissenyador també hi torna a desar, i els seus fitxers de variables forms, o l’arrel; els fitxers de variables a vars
Utilitzar per als playbooks ? Els playbooks d’Ansible que executen les tasques playbooks, o l’arrel
Fer servir per a workflows? Els fitxers de workflow, que el dissenyador també hi torna a desar qualsevol carpeta
Fer servir per a inventaris? Un inventari, amb el nom del repositori, que un formulari indica amb inventory: l’arrel: inventory.yaml, group_vars, host_vars

Sense la subcarpeta, es fa servir l’arrel del repositori. Un repositori ho pot contenir tot; si els separes, només Utilitzar per als formularis, Fer servir per a workflows i Fer servir per a inventaris poden estar activats en diversos: els altres interruptors agafen el primer repositori i registren un avís.

Cada repositori es clona en una subcarpeta amb el seu nom, dins de REPO_PATH.

Un repositori per a tot

Un sol repositori pot contenir formularis, fitxers de variables, configuració i playbooks, amb els interruptors activats i una subcarpeta per a cada tipus.

forms-repo/
├── config.yaml        # categories, roles and constants
├── forms/             # form files (*.yaml)
├── playbooks/         # Ansible playbooks and roles
└── vars/              # vars files used by forms

Un repositori per a cada finalitat

Els repositoris separats permeten que cada equip sigui propietari de la seva part, amb un interruptor cadascun i els fitxers directament a l’arrel.

Repositori Interruptor Contingut a l’arrel
af-config Utilitzar per a la configuració ? config.yaml
af-forms-network, af-forms-storage Utilitzar per als formularis ? Els fitxers de formulari de cada equip, fusionats en una sola llista
af-playbooks Utilitzar per als playbooks ? Els playbooks i els rols

Només els formularis poden venir de diversos repositoris; la configuració i els playbooks venen cadascun d’un de sol. Els fitxers de variables venen de la carpeta vars del primer repositori de formularis que en tingui una.


Com es combinen els repositoris amb les carpetes locals

El contingut dels repositoris substitueix la carpeta local corresponent; aquesta taula resumeix d’on es llegeix cada tipus de fitxer.

Contingut Es llegeix de, guanya la primera coincidència
Configuració 1. la base de dades, quan la configuració s’hi desa (ENABLE_CONFIG_IN_DATABASE)
2. el config.yaml del repositori Utilitzar per a la configuració
3. el config.yaml d’un repositori Utilitzar per als formularis, quan cap repositori no es fa servir per a la configuració
4. CONFIG_PATH
Formularis Tots els repositoris Utilitzar per als formularis més FORMS_STAGING_PATH; FORMS_FOLDER_PATH només quan no n’hi ha cap
Playbooks El repositori Utilitzar per als playbooks, o si no ANSIBLE_PATH
Fitxers de variables La carpeta vars del primer repositori Utilitzar per als formularis que en tingui una, o si no VARS_FILES_PATH
Workflows Tots els repositoris Fer servir per a workflows més WORKFLOWS_PATH, conjuntament

Els formularis de diversos repositoris es fusionen en una sola llista. Quan dos d’ells contenen un formulari amb el mateix nom, es conserva el primer que es carrega i es registra l’avís skipping duplicate form <name>, així que mantén els noms dels formularis únics entre repositoris.


Resolució de problemes

La majoria dels problemes es veuen a la columna Pull i a Mostra la sortida de l’últim pull (o Mostra la sortida de l’últim push), que contenen el missatge d’error de git mateix.


En aquesta secció

Cada tema té la seva pròpia pàgina:

Pàgina Què tracta
Afegir un repositori La pàgina Repositoris, cada camp d’un repositori i com declarar-ne un al config seed
Autenticació HTTPS amb un token, SSH amb la clau generada i ordres git personalitzades
Fer pull dels canvis Pulls programats, manuals i per API, i els canvis locals
Dissenyador i push Editar formularis al dissenyador i fer-ne push al repositori