fr:rapports:2022:11-11
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
fr:rapports:2022:11-11 [2023/03/18 00:12] – créée hgo | fr:rapports:2022:11-11 [2023/03/18 00:26] (Version actuelle) – hgo | ||
---|---|---|---|
Ligne 164: | Ligne 164: | ||
On enlève la partie `tasks`, `vars`, et `handlers`, et on ajoute (attention à l' | On enlève la partie `tasks`, `vars`, et `handlers`, et on ajoute (attention à l' | ||
- | ``` | + | ```yaml |
roles: | roles: | ||
- nginx | - nginx | ||
Ligne 176: | Ligne 176: | ||
Dans `roles/ | Dans `roles/ | ||
- | ```yml | + | ```yaml |
- name: Installation de nginx | - name: Installation de nginx | ||
import_tasks: | import_tasks: | ||
Ligne 185: | Ligne 185: | ||
Dans `roles/ | Dans `roles/ | ||
- | ```yml | + | ```yaml |
- name: Installation de nginx | - name: Installation de nginx | ||
package: | package: | ||
Ligne 194: | Ligne 194: | ||
Et dans `roles/ | Et dans `roles/ | ||
- | ```yml | + | ```yaml |
- name: Configuration de nginx | - name: Configuration de nginx | ||
template: | template: | ||
Ligne 212: | Ligne 212: | ||
Dans le fichier `ansible.cfg`, | Dans le fichier `ansible.cfg`, | ||
- | ```cfg | + | ```ini |
roles_path=./ | roles_path=./ | ||
``` | ``` | ||
Ligne 229: | Ligne 229: | ||
Au final, on déplace ce bout de code qui était dans le fichier `config.yml` vers `main.yml` en dessous de l' | Au final, on déplace ce bout de code qui était dans le fichier `config.yml` vers `main.yml` en dessous de l' | ||
- | ```yml | + | ```yaml |
loop: "{{ nginx_domains }}" | loop: "{{ nginx_domains }}" | ||
loop_control: | loop_control: | ||
Ligne 246: | Ligne 246: | ||
On va installer molecule: | On va installer molecule: | ||
- | ``` | + | ```bash |
pip install molecule | pip install molecule | ||
``` | ``` | ||
On installe un plugin pour que molecule puisse gérer des VMs vagrant (c'est un provider): | On installe un plugin pour que molecule puisse gérer des VMs vagrant (c'est un provider): | ||
- | ``` | + | ```bash |
pip install molecule-vagrant | pip install molecule-vagrant | ||
``` | ``` | ||
Ligne 285: | Ligne 285: | ||
- verify.yml permet de tester le rôle. On l' | - verify.yml permet de tester le rôle. On l' | ||
- | On va un peu modifier la configuration de molecule.yml : | + | On va un peu modifier la configuration de molecule.yml : |
- | ```yml | + | ```yaml |
- | --- | + | |
dependency: | dependency: | ||
name: galaxy | name: galaxy | ||
Ligne 322: | Ligne 321: | ||
Pour créer la VM, c'est très compliqué: | Pour créer la VM, c'est très compliqué: | ||
- | ``` | + | ```bash |
molecule create | molecule create | ||
``` | ``` | ||
Ligne 331: | Ligne 330: | ||
Molécule génère tout un tas de fichier dans le dossier suivant: | Molécule génère tout un tas de fichier dans le dossier suivant: | ||
- | ``` | + | ```bash |
ls -a ~/ | ls -a ~/ | ||
``` | ``` | ||
Ligne 339: | Ligne 338: | ||
On voit aussi qu'il y a un dossier `.vagrant` et si on creuse dedans, on retrouve la private key associée à la VM ! Ce sera utile si jamais on doit y accéder en ssh directement. Par exemple si on veut faire du port forwarding, cela peut être pratique. | On voit aussi qu'il y a un dossier `.vagrant` et si on creuse dedans, on retrouve la private key associée à la VM ! Ce sera utile si jamais on doit y accéder en ssh directement. Par exemple si on veut faire du port forwarding, cela peut être pratique. | ||
- | ``` | + | ```bash |
ls ~/ | ls ~/ | ||
``` | ``` | ||
Ligne 346: | Ligne 345: | ||
À partir du dossier du rôle nginx, on lance: | À partir du dossier du rôle nginx, on lance: | ||
- | ``` | + | ```bash |
molecule login | molecule login | ||
``` | ``` | ||
Si on a plusieurs VMs, on devra utiliser: | Si on a plusieurs VMs, on devra utiliser: | ||
- | ``` | + | ```bash |
molecule login -h <nom de la machine> | molecule login -h <nom de la machine> | ||
``` | ``` | ||
Ligne 361: | Ligne 360: | ||
C'est encore plus pareil qu' | C'est encore plus pareil qu' | ||
- | ``` | + | ```bash |
molecule destroy | molecule destroy | ||
``` | ``` | ||
Ligne 370: | Ligne 369: | ||
### Comment exécuter son rôle avec molecule ? | ### Comment exécuter son rôle avec molecule ? | ||
- | Dans le dossier molécule, on a un fichier converge.yml. Il est correct tel quel mais on va le modifier pour que ce soit mieux : | + | Dans le dossier molécule, on a un fichier converge.yml. Il est correct tel quel mais on va le modifier pour que ce soit mieux : |
- | ```yml | + | ```yaml |
- | --- | + | |
- name: Converge | - name: Converge | ||
hosts: all | hosts: all | ||
become: true | become: true | ||
+ | | ||
roles: | roles: | ||
- nginx | - nginx | ||
Ligne 387: | Ligne 385: | ||
Par exemple: | Par exemple: | ||
- | ``` | + | ```bash |
molecule converge -- -vvv | molecule converge -- -vvv | ||
``` | ``` | ||
Ligne 403: | Ligne 401: | ||
On utilise le module git: https:// | On utilise le module git: https:// | ||
- | On ne garde que les dossiers `molecule` et `tasks`. | + | On ne garde que les dossiers `molecule` et `tasks`. |
- | ``` | + | ```yaml |
- name: Clonage du repo git | - name: Clonage du repo git | ||
ansible.builtin.git: | ansible.builtin.git: | ||
Ligne 425: | Ligne 423: | ||
C'est l' | C'est l' | ||
- | ``` | + | ```yaml |
- | --- | + | |
- name: Prepare | - name: Prepare | ||
hosts: all | hosts: all | ||
become: true | become: true | ||
+ | | ||
tasks: | tasks: | ||
- name: Installation de git | - name: Installation de git | ||
Ligne 443: | Ligne 440: | ||
Et là on force: | Et là on force: | ||
- | ``` | + | ```bash |
molecule prepare -f | molecule prepare -f | ||
``` | ``` | ||
Maintenant que tout est prêt, on peut faire le converge: | Maintenant que tout est prêt, on peut faire le converge: | ||
- | ``` | + | ```bash |
molecule converge | molecule converge | ||
``` | ``` | ||
Ligne 458: | Ligne 455: | ||
Pour l' | Pour l' | ||
- | ``` | + | ```bash |
pip install -r requirements.txt | pip install -r requirements.txt | ||
``` | ``` |
fr/rapports/2022/11-11.1679094754.txt.gz · Dernière modification : 2023/03/18 00:12 de hgo