Deploiement - Gestionnaire de packages: Difference between revisions
Remi.Gattaz (talk | contribs) (Created page with " '''Page d'accueil du projet''' =Compositions docker= Tous les composants de notre application ont été packagés dans de...") |
Remi.Gattaz (talk | contribs) No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
=Compositions docker= |
=Compositions docker= |
||
Tous les composants de notre application ont été |
Tous les composants de notre application ont été publiés dans des images dockers produites automatiquement avec Travis-ci. Les Dockerfile sont donc disponible sur les dépôts git du projet et les images sont publié dans [https://hub.docker.com/u/packebian/ '''l'organisation Packebian sur Dockerhub''' ]. |
||
== Backend-controller == |
== Backend-controller == |
||
Le backend controller est une API composée de deux containers : |
|||
* ''sails'' : L'application sails . Ce container est produit à partir de l'image packebian/backend-controller qui est construite à partir de ce [https://github.com/Packebian/Backend-controller/blob/master/Dockerfile '''Dockerfile'''] |
|||
* ''mongodb'' : La base de donnée de l'API. Ce containeur est produit à partir de ce fichier [https://github.com/Packebian/Backend-Controller-env/blob/master/builds/mongo/Dockerfile '''Dockerfile'''] |
|||
'''docker-compose.yml''' |
'''docker-compose.yml''' |
||
<syntaxhighlight lang="groovy" line> |
<syntaxhighlight lang="groovy" line> |
||
Line 65: | Line 69: | ||
driver: local |
driver: local |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
L'image utilisée pour le container ''mongodb'' n'est pas publiée. Nous vous conseillons donc d'utiliser cette composition en partant de ce dépot [https://github.com/Packebian/Backend-Controller-env '''github'''] |
|||
== Frontend == |
== Frontend == |
||
L'image de l'application Frontend Angular produit est créé à partir de ce [https://github.com/Packebian/Frontend/blob/master/Dockerfile '''Dockerfile'''] |
|||
'''docker-compose.yml''' |
'''docker-compose.yml''' |
||
<syntaxhighlight lang="groovy" line> |
<syntaxhighlight lang="groovy" line> |
||
Line 85: | Line 93: | ||
environment: |
environment: |
||
API_URL: "http://192.168.99.100:1337" # URL to backend-controller API |
API_URL: "http://192.168.99.100:1337" # URL to backend-controller API |
||
</syntaxhighlight> |
|||
== Backend-builder == |
|||
Le builder est lui aussi dans une image docker. Une simple commande dans un terminal permet de le lancer et de récupérer le package .deb dans un dossier. Voici quelques exemples de son utilisation : |
|||
'''builder-ant.sh''' |
|||
<syntaxhighlight lang="bash" line> |
|||
#!/bin/sh |
|||
docker run -ti -v $(pwd)/built-ant:/builder/built \ |
|||
packebian/backend-builder:0.2.1 \ |
|||
build \ |
|||
--repository=https://github.com/KingBabou/builder-ant.git \ |
|||
--package=builder-ant \ |
|||
--tag=1.0 |
|||
</syntaxhighlight> |
|||
'''builder-gradle.sh''' |
|||
<syntaxhighlight lang="bash" line> |
|||
#!/bin/sh |
|||
docker run -ti -v $(pwd)/built-gradle:/builder/built \ |
|||
packebian/backend-builder:0.2.1 \ |
|||
build \ |
|||
--repository=https://github.com/KingBabou/builder-gradle.git \ |
|||
--package=builder-gradle \ |
|||
--tag=1.0 |
|||
</syntaxhighlight> |
|||
'''builder-maven.sh''' |
|||
<syntaxhighlight lang="bash" line> |
|||
#!/bin/sh |
|||
docker run -ti -v $(pwd)/built-maven:/builder/built \ |
|||
packebian/backend-builder:0.2.1 \ |
|||
build \ |
|||
--repository=https://github.com/KingBabou/builder-maven.git \ |
|||
--package=builder-maven \ |
|||
--tag=1.0 |
|||
</syntaxhighlight> |
|||
'''builder-procesim.sh''' |
|||
<syntaxhighlight lang="bash" line> |
|||
#!/bin/sh |
|||
docker run -ti -v $(pwd)/built-procesim:/builder/built \ |
|||
packebian/backend-builder:0.2.1 \ |
|||
build \ |
|||
--repository=https://github.com/KingBabou/procesim.git \ |
|||
--package=procesim \ |
|||
--tag=1.0 |
|||
</syntaxhighlight> |
|||
'''builder-puissance4.sh''' |
|||
<syntaxhighlight lang="bash" line> |
|||
#!/bin/sh |
|||
docker run -ti -v $(pwd)/built-puissance4:/builder/built \ |
|||
packebian/backend-builder:0.2.1 \ |
|||
build \ |
|||
--repository=https://github.com/KingBabou/puissance4.git \ |
|||
--package=puissance4 \ |
|||
--tag=1.0 |
|||
</syntaxhighlight> |
</syntaxhighlight> |
Latest revision as of 07:57, 16 March 2017
Compositions docker
Tous les composants de notre application ont été publiés dans des images dockers produites automatiquement avec Travis-ci. Les Dockerfile sont donc disponible sur les dépôts git du projet et les images sont publié dans l'organisation Packebian sur Dockerhub .
Backend-controller
Le backend controller est une API composée de deux containers :
- sails : L'application sails . Ce container est produit à partir de l'image packebian/backend-controller qui est construite à partir de ce Dockerfile
- mongodb : La base de donnée de l'API. Ce containeur est produit à partir de ce fichier Dockerfile
docker-compose.yml
version: '2'
services:
# -------------------------------------------
# ------------------ Sails ------------------
# -------------------------------------------
# sails container
sails:
image: packebian/backend-controller:stable
tty: true
ports:
- "1337:1337"
links:
- "mongodb:mongodb"
environment:
# Sails
SAILS_SECRET: "c9693b2d5572ffd96a79cae6a8453d57"
# Mongo
MONGO_HOST: "mongodb"
MONGO_PORT: "27017"
MONGO_DB: "packebian"
MONGO_USER: "packebian"
MONGO_PASS: "packebian123"
# Auth0
AUTH0_SECRET: "secret"
AUTH0_ALGO: "HS256"
AUTH0_ENDPOINT: "https://packebian.eu.auth0.com"
# JWT
JWT_SECRET: "secret"
JWT_LIFE: 3600
JWT_ALGO: "HS256"
JWT_ISSUER: "packebian.com"
JWT_AUDIENCE: "packebian.com"
# ----------------------------------------------
# ------------------ Database ------------------
# ----------------------------------------------
# Mongodb
mongodb:
build: ./builds/mongo
tty: true
restart: always
volumes:
- "mongoVolume:/data/db"
ports:
- "27017:27017"
environment:
ADMIN_USER: "root"
ADMIN_PASS: "mongdb123"
MONGO_DB: "packebian"
MONGO_USER: "packebian"
MONGO_PASS: "packebian123"
volumes:
mongoVolume:
driver: local
L'image utilisée pour le container mongodb n'est pas publiée. Nous vous conseillons donc d'utiliser cette composition en partant de ce dépot github
Frontend
L'image de l'application Frontend Angular produit est créé à partir de ce Dockerfile
docker-compose.yml
version: '2'
services:
# -------------------------------------------
# ----------------- Angular -----------------
# -------------------------------------------
# sails container
frontend:
image: packebian/frontend:stable
tty: true
ports:
- "9000:9000"
- "35729:35729"
environment:
API_URL: "http://192.168.99.100:1337" # URL to backend-controller API
Backend-builder
Le builder est lui aussi dans une image docker. Une simple commande dans un terminal permet de le lancer et de récupérer le package .deb dans un dossier. Voici quelques exemples de son utilisation :
builder-ant.sh
#!/bin/sh
docker run -ti -v $(pwd)/built-ant:/builder/built \
packebian/backend-builder:0.2.1 \
build \
--repository=https://github.com/KingBabou/builder-ant.git \
--package=builder-ant \
--tag=1.0
builder-gradle.sh
#!/bin/sh
docker run -ti -v $(pwd)/built-gradle:/builder/built \
packebian/backend-builder:0.2.1 \
build \
--repository=https://github.com/KingBabou/builder-gradle.git \
--package=builder-gradle \
--tag=1.0
builder-maven.sh
#!/bin/sh
docker run -ti -v $(pwd)/built-maven:/builder/built \
packebian/backend-builder:0.2.1 \
build \
--repository=https://github.com/KingBabou/builder-maven.git \
--package=builder-maven \
--tag=1.0
builder-procesim.sh
#!/bin/sh
docker run -ti -v $(pwd)/built-procesim:/builder/built \
packebian/backend-builder:0.2.1 \
build \
--repository=https://github.com/KingBabou/procesim.git \
--package=procesim \
--tag=1.0
builder-puissance4.sh
#!/bin/sh
docker run -ti -v $(pwd)/built-puissance4:/builder/built \
packebian/backend-builder:0.2.1 \
build \
--repository=https://github.com/KingBabou/puissance4.git \
--package=puissance4 \
--tag=1.0