Deploiement - Gestionnaire de packages: Difference between revisions

From air
Jump to navigation Jump to search
(Created page with " '''Page d'accueil du projet''' =Compositions docker= Tous les composants de notre application ont été packagés dans de...")
 
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é packagés dans des containeurs dockers. Tous ces containeurs sont disponible sur [https://hub.docker.com/u/packebian/ Dockerhub]
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

Page d'accueil du projet

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