Build and deploy with make

This commit is contained in:
Yorick Barbanneau 2022-12-05 01:00:52 +01:00
parent b3b8be6e38
commit 3c5cc3e576
2 changed files with 54 additions and 11 deletions

29
Makefile Normal file
View file

@ -0,0 +1,29 @@
# Includes
-include include.mk
# deploy variables
DEPLOY_BIN?=rsync
DEPLOY_OPTS?=-avz --delete
BUILD_OPTS?=--gc --cleanDestinationDir
BUILD_DEST?=public
.PHONY: serve
serve:
@hugo server -D --disableFastRender -v
.PHONY: build
build:
@hugo -d $(BUILD_DEST) $(BUILD_OPTIONS)
.PHONY: clean
clean:
@[ -d $(BUILD_DEST) ] && rm -rf $(BUILD_DEST)
.PHONY: deploy
deploy:
ifeq ($(DEPLOY_SERVER),)
$(error DEPLOY_SERVER is not defined)
endif
[ -d $(BUILD_DEST) ] && $(DEPLOY_BIN) $(DEPLOY_OPTS) $(BUILD_DEST)/ $(DEPLOY_SERVER):$(DEPLOY_FOLDER)

View file

@ -2,11 +2,11 @@ Notes de cours et TD machine
----------------------------- -----------------------------
Dépôt git pour la construction d'un site statique avec Dépôt git pour la construction d'un site statique avec
[Hugo](https://gohugo.io) reprenant l'ensemble de mes notres de cours et TM [Hugo](https://gohugo.io) reprenant l'ensemble de mes notes de cours et TM
machine mises au propre (J'ai beaucoup de retard...) machine mises au propre (J'ai beaucoup de retard...)
Je rajouterai plus tard un `makefile` pour la construction de fichiers PDF avec Le projet dispose d'un *Makefile* afin d'utiliser `make` pour la génération des
[pandoc](https://pandoc.org/) fichiers et le déploiement.
## Construction du site ## Construction du site
@ -25,21 +25,35 @@ git submodule init && git submodule update
Pour construite le site, il faut au préalable installer hugo, sur Archlinux : Pour construite le site, il faut au préalable installer hugo, sur Archlinux :
```shell ```shell
# pacman -S hugo pacman -S hugo
``` ```
Pour activer le serveur web intégré à Hugo, il suffit de lancer la commande Pour activer le serveur web intégré à Hugo, il suffit de lancer la commande
(dans le répertoire racine du dépôt) : (dans le répertoire racine du dépôt) :
```shell ```shell
$ hugo server -D --disableFastRender -v $ make deploy
``` ```
Il est possible de rajouter l'option `--debug` afin d'afficher plus Pour construire les fichiers statiques du site, il suffit de faire:
d'informations sur la sortie standard. Une fois ce mode activé, il suffit
d'ouvrir son navigateur à l'adresse *http://localhost:1313*.
## Bugs ```
make build
```
C'est la première fois que j'utilise un générateur de site statique, le ## Déploiement
fonctionnement du site n'est donc pas optimal
Une fois le site construit, il est possible de le déployer en utilisant la
cible `deploy`. Il faut auparavant créer le fichier `include.mk` à la racine de
projet avec les variables suivante:
```makefile
DEPLOY_SERVER=monserveur.example.com
DEPLOY_FOLDER=~/www/lpro/
```
Puis lancer la commande:
```
make deploy
```