Files
SavaneWiki/docs/Ansible/2023-11-14-savanewiki-plubication.md
jf 158b22eb29
All checks were successful
continuous-integration/drone/push Build is passing
Update docs/Ansible/2023-11-14-savanewiki-plubication.md
2024-07-19 15:19:44 +02:00

82 lines
2.1 KiB
Markdown

---
title: "Publication de Savanewiki"
summary: "Description"
author:
- JF
date: 2023-11-13
---
# ~~Publication du build mkdocs de Savanewiki via Ansible~~
> 2024-07-17 : La publication de SavaneWiki se fait désormais par [Gitea](https://about.gitea.com/) et [Drone](https://drone.io) dans [Docker](https://www.docker.com/).
### Utilisation de mkdocs
#### Pour démarrer le serveur mkdocs
Positionner le terminal à la racine du dossier du site mkdocs.
```bash
mkdocs serve
```
La mise à jour est dynamique, elle suit la mise à jour des pages.
#### Création d'une page.
```bash
vi ./docs/rubrique/$(date '+%Y-%m-%d')-nouvelle_page.md
```
#### Référencement de la page dans l'arborescence du site
Ajouter le nom de la page dans le fichier.
```bash
vi mkdocs.yml
```
```markdown
site_name: Savanewiki
site_url: https://docs.savaneprod.fr
nav:
- Home: index.md
- Rubrique:
- "Rubrique/index.md"
- "Rubrique/$(date '+%Y-%m-%d')-nouvelle_page.md"
- About: about.md
theme: readthedocs
```
Contenu minimal de la page :
```markdown
---
title: "Nouvelle page"
summary: "Description brève"
author:
- JF
date: $(date '+%Y-%m-%d')
---
```
#### Compilation du site
```bash
mkdocs build --clean
```
### Le playbook ansible
Rsync étant compliqué à utilser avec Synology. Utiliser Gitea pour télécharger les fichiers au bon endroit, un peu tordu. J'ai décidé d'utiliser Ansible pour publier les builds de Savanewiki.
Toujours parce que rsync n'est pas standard avec Synology, je n'ai pas cherché à utiliser le module `ansible.posix.synchronize`. Ce n'est pas très efficace d'un point de vue du mécanisme, mais ça l'est d'un point de vue simplicité et temps de mise en place.
```yaml
---
- name: Déploiement de SavaneWiki
hosts: savaneprod.fr
tasks:
- name: Remove dest files
ansible.builtin.file:
path: /volume1/web/docs/
state: absent
- name: Copie des fichier de site/
ansible.builtin.copy:
dest: /volume1/web/docs/
group: http
mode: 600
owner: root
src: "{{ playbook_dir }}/../site/"
```