README.md 2.42 KB
Newer Older
Matthieu Boileau's avatar
Matthieu Boileau committed
1
2
# Construction du site <https://calcul.math.unistra.fr>

Mathieu Haefele's avatar
ping    
Mathieu Haefele committed
3

Matthieu Boileau's avatar
Matthieu Boileau committed
4
5
6
7
8
9
10
11
12
## Installation de Pelican et prérequis

### Git-lfs

[`git-lfs`](https://git-lfs.github.com/
) est utilisé pour gérer les fichiers attachés.

### Paquets python

13
Il est conseillé d'utiliser [`virtualenv`](https://virtualenv.pypa.io/en/latest/userguide/) ou [`conda-env`](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) pour isoler vos installations python.
Matthieu Boileau's avatar
Matthieu Boileau committed
14

Matthieu Boileau's avatar
Matthieu Boileau committed
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#### Avec `virtualenv`

On crée un virtualenv dans la racine du projet

```
virtualenv --python=python3 venv
```

On l'active

```
source venv/bin/activate
```

On install les dépendances et Pelican avec
Matthieu Boileau's avatar
Matthieu Boileau committed
30

Matthieu Boileau's avatar
Matthieu Boileau committed
31
32
33
34
```
pip install -r requirements.txt
```

Matthieu Boileau's avatar
Matthieu Boileau committed
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#### Avec `conda-env`

On crée un conda-env qui contient les dépendances

```
conda env create --file environment.yml
```

On l'active

```
conda activate calcul
```

#### Avec Docker

On se connecte au registry :

```
docker login registry.math.unistra.fr
```

On récupère l'image docker :

```
docker pull registry.math.unistra.fr/groupe-calcul/website
```

On instancie l'image en montant le répertoire courant qui doit correspondre à la racine du projet :

```
docker run --rm -ti -v $PWD:/home/calcul/website \
registry.math.unistra.fr/groupe-calcul/website
```

> Plus d'info dans la [doc gitlab](/container_registry).

Matthieu Boileau's avatar
Matthieu Boileau committed
72
73
74
75
76
## Construction du site

Pour visualiser en local le rendu du site :

```
Matthieu Boileau's avatar
Matthieu Boileau committed
77
make devserver
Matthieu Boileau's avatar
Matthieu Boileau committed
78
79
80
81
82
83
84
85
```

puis se connecter sur <http://localhost:8000>.
La modification d'un fichier source markdown est détectée dynamiquement par le script qui relance automatiquement la construction du site pour mettre à jour le rendu.

Le numéro du port de publication peut-être changé avec 

```
Matthieu Boileau's avatar
Matthieu Boileau committed
86
make devserver PORT=8001
Matthieu Boileau's avatar
Matthieu Boileau committed
87
88
```

Matthieu Boileau's avatar
Matthieu Boileau committed
89
pour publier sur <http://localhost:8001>.
Matthieu Boileau's avatar
Matthieu Boileau committed
90
91
92
93
94
95
96
97
98
99

## Publication

La publication se fait par intégration continue avec GitLab-CI.
Tout est décrit par le fichier [.gitlab-ci.yml](.gitlab-ci.yml).
En combinaison avec la configuration apache de `calcul.math.unistra.fr`, le fichier `.gitlab-ci.yml` permet de publier sur une adresse qui dépend de la branche git :

- `master` publie vers <https://calcul.math.unistra.fr>
- les branches `dev-*` publient vers <https://calcul-dev.math.unistra.fr/dev-*>
- Toute autre `branche` listée dans le champ `apache-dev::only:` publie également vers <https://calcul-dev.math.unistra.fr/branche>
100
- Toute autre branche non listée est testée en construction par le job `build` mais n'est pas publiée