Dépôts git
Conserver les formulaires, les fichiers de variables, la configuration et les playbooks dans git
Pour les admins qui conservent formulaires, configuration et playbooks dans git : ce qu’un dépôt peut contenir et quelle source l’emporte.
À quoi sert un dépôt
Un dépôt est un dépôt git distant qu’AnsibleForms clone et tient à jour, et chacun a des interrupteurs qui indiquent ce qu’il contient :
| Interrupteur | Ce qu’AnsibleForms y lit | Dossier dans le dépôt |
|---|---|---|
| Utiliser pour la configuration ? | config.yaml avec les catégories, les rôles et les constantes | la racine |
| Utiliser pour les formulaires ? | Les fichiers de formulaires, que le concepteur y enregistre aussi, et leurs fichiers de variables | forms, ou la racine ; fichiers de variables dans vars |
| Utiliser pour les playbooks ? | Les playbooks Ansible qu’exécutent les jobs | playbooks, ou la racine |
| Utiliser pour les workflows ? | Les fichiers de workflow, que le concepteur y enregistre aussi | n’importe quel dossier |
| Utiliser pour les inventaires ? | Un inventaire, nommé d’après le dépôt, qu’un formulaire désigne avec inventory: | la racine : inventory.yaml, group_vars, host_vars |
Sans le sous-dossier, la racine du dépôt est utilisée. Un seul dépôt peut tout contenir ; si vous les séparez, seuls Utiliser pour les formulaires, Utiliser pour les workflows et Utiliser pour les inventaires peuvent être activés sur plusieurs : les autres interrupteurs prennent le premier dépôt et journalisent un avertissement.
Chaque dépôt est cloné dans un sous-dossier qui porte son nom, sous REPO_PATH.
Un seul dépôt pour tout
Un seul dépôt peut contenir les formulaires, les fichiers de variables, la configuration et les playbooks, avec les interrupteurs activés et un sous-dossier par type.
forms-repo/
├── config.yaml # categories, roles and constants
├── forms/ # form files (*.yaml)
├── playbooks/ # Ansible playbooks and roles
└── vars/ # vars files used by forms
Un dépôt par usage
Des dépôts séparés permettent aux équipes de posséder leur partie, avec un interrupteur chacun et les fichiers directement à la racine.
| Dépôt | Interrupteur | Contenu à la racine |
|---|---|---|
af-config | Utiliser pour la configuration ? | config.yaml |
af-forms-network, af-forms-storage | Utiliser pour les formulaires ? | Les fichiers de formulaires de chaque équipe, fusionnés en une seule liste |
af-playbooks | Utiliser pour les playbooks ? | Les playbooks et les rôles |
Seuls les formulaires peuvent venir de plusieurs dépôts ; la configuration et les playbooks viennent chacun d’un seul. Les fichiers de variables viennent du dossier vars du premier dépôt de formulaires qui en a un.
Comment les dépôts se combinent avec les dossiers locaux
Le contenu d’un dépôt remplace le dossier local correspondant ; ce tableau résume d’où chaque type de fichier est lu.
| Contenu | Lu depuis, la première correspondance l’emporte |
|---|---|
| Configuration | 1. la base de données, quand la configuration y est conservée (ENABLE_CONFIG_IN_DATABASE) 2. le config.yaml du dépôt Utiliser pour la configuration 3. le config.yaml d’un dépôt Utiliser pour les formulaires, quand aucun dépôt n’est utilisé pour la configuration 4. CONFIG_PATH |
| Formulaires | Chaque dépôt Utiliser pour les formulaires plus FORMS_STAGING_PATH ; FORMS_FOLDER_PATH uniquement s’il n’y en a aucun |
| Playbooks | Le dépôt Utiliser pour les playbooks, sinon ANSIBLE_PATH |
| Fichiers de variables | Le dossier vars du premier dépôt Utiliser pour les formulaires qui en a un, sinon VARS_FILES_PATH |
| Workflows | Chaque dépôt Utiliser pour les workflows plus WORKFLOWS_PATH, ensemble |
Les formulaires de plusieurs dépôts sont fusionnés en une seule liste. Quand deux d’entre eux contiennent un formulaire portant le même nom, le premier chargé est conservé et l’avertissement skipping duplicate form <name> est journalisé : gardez donc des noms de formulaire uniques entre les dépôts.
Dépannage
La plupart des problèmes apparaissent dans la colonne Pull et dans Afficher la sortie du dernier pull (ou Afficher la sortie du dernier push), qui contiennent le message d’erreur de git lui-même.
- Le clonage ou le pull d’un dépôt a échoué : authentification, hôtes connus et modifications locales.
- Le dépôt de formulaires n’est pas encore cloné : le concepteur ne peut pas enregistrer avant le premier clonage.
- Un dépôt bloqué en
runningest remis àfailed: après un redémarrage, au démarrage suivant ; en moins d’une minute dès que le nœud qui exécute son opération git cesse de répondre pendant 2 minutes ; et dans tous les cas après 2 heures. Relancez Pull.
Dans cette section
Chaque sujet a sa propre page :
| Page | Contenu |
|---|---|
| Ajouter un dépôt | La page Dépôts, chaque champ d’un dépôt, et la déclaration d’un dépôt dans le config seed |
| Authentification | HTTPS avec un jeton, SSH avec la clé générée, et commandes git personnalisées |
| Récupérer les modifications | Pulls planifiés, manuels et via l’API, et modifications locales |
| Concepteur et push | Modifier des formulaires dans le concepteur et les pousser vers le dépôt |