82 lines
2.1 KiB
Markdown
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/"
|
|
```
|