fix #2 - Génération des fichiers utiles à la version production
This commit is contained in:
parent
ce890c07fd
commit
58d6ed6032
39
Makefile
Normal file
39
Makefile
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
APP := $(shell head -n 1 "shard.yml"|cut -d ':' -f 2|tr -d ' ')
|
||||||
|
VERSION := $(shell sed '2!d' "shard.yml"|cut -d ':' -f 2|tr -d ' ')
|
||||||
|
DEST = /tmp/${APP}
|
||||||
|
|
||||||
|
all: build
|
||||||
|
|
||||||
|
bin:
|
||||||
|
mkdir -p bin
|
||||||
|
|
||||||
|
bin/${APP}:
|
||||||
|
crystal build src/${APP}.cr -o bin/${APP} --release --stats
|
||||||
|
|
||||||
|
bin/amber:
|
||||||
|
crystal build lib/amber/src/amber/cli.cr -o bin/amber --stats
|
||||||
|
|
||||||
|
build: bin bin/${APP} bin/amber
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
shards install
|
||||||
|
|
||||||
|
${DEST}:
|
||||||
|
mkdir -p ${DEST}
|
||||||
|
|
||||||
|
${APP}-${VERSION}.tar.gz: build ${DEST}
|
||||||
|
mkdir -p ${DEST}/config/environments/ ${DEST}/src/locales
|
||||||
|
cp -r bin/ ${DEST}/
|
||||||
|
cp -r db/ ${DEST}/
|
||||||
|
cp -r public/ ${DEST}/
|
||||||
|
cp -r src/locales ${DEST}/src/locales
|
||||||
|
cp config/environments/.production.enc ${DEST}/config/environments/
|
||||||
|
tar cvfJ "${APP}-${VERSION}.tar.xz" -C /tmp/ ${APP}
|
||||||
|
rm -rf ${DEST}
|
||||||
|
|
||||||
|
extract: ${APP}-${VERSION}.tar.gz
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f bin/amber
|
||||||
|
rm -f bin/${APP}
|
||||||
|
rm -rf ${DEST}
|
37
README.md
37
README.md
@ -18,10 +18,18 @@ Mais également d'avoir une alternative OpenSource au très connu Backloggery.co
|
|||||||
|
|
||||||
# Installation des dépendances Crystal
|
# Installation des dépendances Crystal
|
||||||
|
|
||||||
|
Soit :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
shards install
|
shards install
|
||||||
```
|
```
|
||||||
|
|
||||||
|
soit :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make dependencies
|
||||||
|
```
|
||||||
|
|
||||||
# Aperçu de l'application
|
# Aperçu de l'application
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -32,6 +40,35 @@ amber w
|
|||||||
|
|
||||||
* [Amber](https://amberframework.org/) - framework pour créer des applications simples, rapides et agréables
|
* [Amber](https://amberframework.org/) - framework pour créer des applications simples, rapides et agréables
|
||||||
|
|
||||||
|
# Déploiement
|
||||||
|
|
||||||
|
Lorsque vous déployez l'application il n'est pas nécessaire d'avoir l'ensemble des fichiers. Une liste se trouve dans le fichier **filesToDeploy.txt**.
|
||||||
|
|
||||||
|
Deux méthodes sont possibles pour approvisionner vos serveurs des fichiers utiles :
|
||||||
|
|
||||||
|
* en utilisant une archive .tar.xz générée par Carnetdejeu
|
||||||
|
* en faisant une synchronisation via rsync vers le serveur ciblé
|
||||||
|
|
||||||
|
## En utilisant une archive
|
||||||
|
|
||||||
|
Vous pouvez obtenir un fichier archive compressé contenant l'ensemble de ces fichiers en utilisant la commande suivante :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make extract
|
||||||
|
```
|
||||||
|
|
||||||
|
Cela devrait compiler Amber, Carnetdejeu et créer un fichier **carnetdejeu-0.1.0.tar.xz**.
|
||||||
|
|
||||||
|
C'est le contenu de cette archive que vous pouvez déposer à l'endroit où vous déployer votre application.
|
||||||
|
|
||||||
|
## En utilisant rsync
|
||||||
|
|
||||||
|
Il est possible d'utiliser la commande contenu dans le script **deploy.sh** ou bien directement dans votre terminal :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rsync -avP --include-from=filesToDeploy.txt . monserveur:/dossier/de/destination
|
||||||
|
```
|
||||||
|
|
||||||
# Contributeurs
|
# Contributeurs
|
||||||
|
|
||||||
* Olivier DOSSMANN - création initiale - [blankoworld](https://github.com/blankoworld/)
|
* Olivier DOSSMANN - création initiale - [blankoworld](https://github.com/blankoworld/)
|
||||||
|
15
deploy.sh
Executable file
15
deploy.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
help() {
|
||||||
|
echo "Usage: ./$(basename $0) [destination]"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ $* < 2 ]] ; then
|
||||||
|
echo "No destination given"
|
||||||
|
help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
rsync -avP --include-from=filesToDeploy.txt . $1
|
||||||
|
|
||||||
|
exit 0
|
13
filesToDeploy.txt
Normal file
13
filesToDeploy.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
+ bin/
|
||||||
|
+ bin/**
|
||||||
|
+ config/
|
||||||
|
+ config/environments/
|
||||||
|
+ config/environments/.production.enc
|
||||||
|
+ db/
|
||||||
|
+ db/**
|
||||||
|
+ public/
|
||||||
|
+ public/**
|
||||||
|
+ src/
|
||||||
|
+ src/locales/
|
||||||
|
+ src/locales/**
|
||||||
|
- *
|
Loading…
Reference in New Issue
Block a user