mirror of
https://gitlab.com/free_zed/free_zed.gitlab.io.git
synced 2024-06-01 22:02:28 +00:00
f348579a90
Remove ` ` by ` `, less painfull to read
50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
Title: Mise à jour d'un réseau local Debian avec Ansible
|
||
Date: 2020-04-19 00:43
|
||
Category: Bloc-notes
|
||
Status: published
|
||
Summary: Mise à jour d'un parc Debian hétérogène (packages &_config), avec packages hors dépôt.
|
||
Tags: ansible, admin, debian, mate, devops, shell, git, dry
|
||
|
||
### Contexte
|
||
|
||
Mise à jour d'un parc Debian hétérogène, pour l'exercice, le réseau famillial fera l'affaire :
|
||
|
||
- 5 machines physiques : 1 serveur + 4 postes (Stretch/Buster/Bullseye)
|
||
- 2 machines virtuelles, (Jessie/Buster)
|
||
|
||
### Besoin
|
||
|
||
- machines à jour
|
||
- instalations homogènes : packages et configuration
|
||
- gérer des packages `*.deb` disponible hors dépôt `apt`
|
||
|
||
### _Talk is cheap. Show me the code._
|
||
|
||
- [Installer Ansible][install]
|
||
- récupérer [le _playbook_][repo] : `git clone https://gitlab.com/free_zed/myasb.git`
|
||
- se mettre dans la bonne branche : `cd myasb; git checkout lan`
|
||
- adapter [l'inventaire][host] avec les adresses de vos machines : `$EDITOR hosts`
|
||
- jouer le _playbook_ : `ansible-playbook -i hosts site.yml`
|
||
- …et volà!
|
||
|
||
|
||
### Remarques
|
||
|
||
`git` n'utilise pas la configuration globale par défaut (`/etc/gitconfig`), je m'en suis servi pour déployer mes alias _partout_ sans déployer la config `git` de ma machine de dev qui contient des éléments que je ne souhaite pas diffuser (tokens, mails, usernames, tools, etc).
|
||
|
||
### Idées
|
||
|
||
- centraliser le build & déploiement d'un projet Java sur Github ([Mindustry][mindustry]).
|
||
- comparer le numéro de version Debian plutôt que le nom (`str()` to `int()` des _facts Ansible_)
|
||
- faire des taches/roles/whatever qui ne se font qu'une fois avant (ou après) de jouer le playbook
|
||
- récupérer la version stable Debian
|
||
- récupérer numéro de dernière version d'un `*.deb` dispo hors dépot
|
||
- envoyer _un seul_ mail de récap
|
||
- utiliser les variables d'environnement (ou autre) pour les données privées
|
||
|
||
|
||
[repo]: https://gitlab.com/free_zed/myasb/-/tree/lan
|
||
[mindustry]: https://github.com/Anuken/Mindustry/
|
||
[install]: https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html
|
||
[host]: https://gitlab.com/free_zed/myasb/-/blob/lan/hosts
|