Build and deploy with make
This commit is contained in:
parent
b3b8be6e38
commit
3c5cc3e576
2 changed files with 54 additions and 11 deletions
29
Makefile
Normal file
29
Makefile
Normal 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)
|
36
README.md
36
README.md
|
@ -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
|
||||||
|
```
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue