Empaquetage paquets binaires OK

This commit is contained in:
2015-09-23 21:59:29 +02:00
parent 2cff8041dc
commit 913945a08c
5 changed files with 13 additions and 80 deletions

View File

@ -1,6 +1,6 @@
# Tamarin
Usine à paquets Debian basée sur Docker.
Usine à paquets binaires Debian basée sur Docker.
## Dépendances
@ -9,53 +9,18 @@ Vous devez avoir [docker](https://docs.docker.com/installation/) installé sur v
## Utilisation
```
./package-project.sh <src> <dist> <docker_image>
Usage: ./package.sh -p project_path [-d destination] [-i image] [-k]
Parameters:
-p Path to the project to build
-d Optional : Destination of the builed packages (default ./packages)
-i Optional : Name of the Docker image to use for build (default: debian:jessie)
-k Optional : Keep the Docker container after build
-b Optional : Build directory (default /tmp)
-B Optional : Build branch (for git projects only) (default dist/ubuntu/precise/master)
```
**Exemple:** *en étant placé dans le répertoire du projet Tamarin*
```
./package-project.sh ./src-example ./dist "debian:jessie"
```
## Le fichier manifeste `tamarin.json`
La génération des fichiers de métadonnées nécessaires à la construction du paquet peut être semi-automatisé via l'ajout d'un fichier manifeste `tamarin.json` à la racine du projet.
Si le répertoire `DEBIAN` est déjà présent à la racine du projet, Tamarin n'effectuera pas cette étape.
Ce fichier à la structure suivante:
```js
{
"name": "hello-world", // Nom du projet
"version": "0.0.0", // Version
"dependencies": { // Dépendances du projet suivant la distribution cible
"debian:jessie": [
"apache2 (>= 2.4)",
"php5 (>= 5.4)"
]
},
"hooks": { // Hooks liés au cycle de vie du paquet
"preBuild": "./scripts/pre-build.sh",
"postBuild": "./scripts/post-build.sh",
"preInstall": "",
"preRemove": "",
"postInstall": "",
"postRemove": ""
}
}
```
### Les hooks
|Hook |Contexte |Description|
|------------|---------------------------------------------------|-----------|
|preBuild |Exécuté dans le conteneur de construction du paquet|TODO|
|postBuild |Exécuté dans le conteneur de construction du paquet|TODO|
|preInstall |Exécuté juste avant l'installation du paquet |TODO|
|postInstall |Exécuté juste après l'installation du paquet |TODO|
|preRemove |Exécuté juste avant la suppression du paquet |TODO|
|postRemove |Exécuté juste après la suppression du paquet |TODO|
## Licence
GPLv3