diff --git a/doc/guide_deploiement.md b/doc/guide_deploiement.md index 8795626299e6b0faebcb711030c7cb041b516ae5..7438c178f8eef0eecea533c2489bcbe3541aac8c 100644 --- a/doc/guide_deploiement.md +++ b/doc/guide_deploiement.md @@ -23,8 +23,18 @@ Si on déploie un service pour la première fois, il faudra copier les fichiers Il faut être connecté au registre de production pour la suite : on s'assure de bien avoir exécuté la commande `docker login registry.picasoft.net`. Les identifiants sont sur le [pass](https://gitlab.utc.fr/picasoft/interne/pass). - On peut alors utiliser le script [`docker_prod.sh`](./docker_prod.sh), qui automatise quelques étapes. - Il suffit de lancer la commande `$ ./docker_prod.sh <nom du dossier>`. +Si des volumes sont déclarés `external` (ce que nous ne [recommendons pas](./guide_bonnes_pratiques.md)), il faut les créer manuellement au prélable. + +On peut ensuite se rendre dans le dossier et lancer, en général : + +```bash +# Tirer la nouvelle version des images +docker-compose pull +# (Re)création des volumes, des réseaux, des conteneurs +docker-compose up -d +# Lecture des logs +docker-compose logs -f +``` Attention : un conteneur noté `Unhealthy` à cause d'un mauvais `HEALTHCHECK` sera **exclu** de Traefik, même s'il fonctionne bien! @@ -91,33 +101,16 @@ Je me rends de nouveau sur le [pipeline](https://gitlab.utc.fr/picasoft/projets/ Je me rends ensuite sur la machine de production (`pica02` à ce jour) et je lance la nouvelle version du service : ```bash $ ssh qduchemi@pica02.picasoft.net -qduchemi@pica02:~$ cd /DATA/docker/dockerfiles -qduchemi@pica02:/DATA/docker/dockerfiles$ ./docker_prod.sh pica-mattermost -Starting procedure for pica-mattermost... - -==== Pull Dockerfiles repository ==== -Using branch master, is this correct ? [y/N] -y -Username for 'https://gitlab.utc.fr': qduchemi -Password for 'https://qduchemi@gitlab.utc.fr': -Déjà à jour. - -==== Pull new versions of images ==== +qduchemi@pica02:~$ cd /DATA/docker/dockerfiles/pica-etherpad +qduchemi@pica02:/DATA/docker/dockerfiles$ docker-compose pull Pulling mattermost-db ... done Pulling mattermost ... done - -==== Ensure named external volumes are created ==== -mattermost-config -mattermost-data -mattermost-plugins -mattermost-db - -==== Lauch pica-mattermost ==== +qduchemi@pica02:/DATA/docker/dockerfiles$ docker-compose up -d Recreating mattermost-db ... done Recreating mattermost-app ... done - -==== Print logs (use Ctrl+C to stop) ==== +qduchemi@pica02:/DATA/docker/dockerfiles$ docker-compose logs -f Attaching to mattermost-app, mattermost-db +[...] ``` J'attends que l'application ait démarré, je vérifie que tout est ok sur [team.picasoft.net](https://team.picasoft.net). diff --git a/docker_prod.sh b/docker_prod.sh deleted file mode 100755 index f60aa2f759c7e2be4ebd7824c04cdb9e5c403ccb..0000000000000000000000000000000000000000 --- a/docker_prod.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash - -set -e - -usage() { - echo -e "usage:\t$0 DIRECTORY, e.g. $0 pica-mattermost" - echo -e "\tDIRECTORY : name of the directory containing docker-compose.yml\n" - echo "This script is a helper to launch a service : it will create all needed volumes for the service," - echo "pull the specified version of the image if any, and then launch docker-compose up -d." - exit 1 -} - -if [[ $# -ne 1 ]]; then - echo "ERROR : wrong number of arguments" - usage -fi - -if [[ ! -d "$1" ]]; then - echo "ERROR : directory does not exist ($1)" - usage -fi - -# Go to the folder of the service which will be tested -cd "$1" - -echo -e "Starting procedure for \033[31m$1\e[0m..." - -echo -e "\n==== Pull Dockerfiles repository ====" -echo -e "Using branch \033[31m $(git rev-parse --abbrev-ref HEAD)\e[0m, is this correct ? [y/N]" -read ans - -if [ $ans == "y" ]; then - git pull -else - echo "Aborting." - exit 0 -fi - -echo -e "\n==== Pull new versions of images ====" -docker-compose pull - -echo -e "\n==== Ensure named external volumes are created ====" -for v in $(docker-compose config --volumes); do - docker volume create "$v" -done - -echo -e "\n==== Lauch $1 ====" -docker-compose up -d - -echo -e "\n==== Print logs (use Ctrl+C to stop) ====" -docker-compose logs -f diff --git a/pica-etherpad/README.md b/pica-etherpad/README.md index 54499f387d1af67447fd1aa3f7252c728839855c..37c2ae77b9085102ca2f7a9d974f594b37e77718 100644 --- a/pica-etherpad/README.md +++ b/pica-etherpad/README.md @@ -44,9 +44,7 @@ Toutes les paramètres sont configurables via l'environnement. On pourra regarde Le [docker-compose.yml](./docker-compose.yml) proposé inclut deux versions : une principale, usuellement sur [pad.picasoft.net](https://pad.picasoft.net), et une hebdomadaire, usuellement sur [week.pad.picasoft.net](https://week.pad.picasoft.net). -La procédure de lancement classique avec `docker_prod.sh` lancera les deux instances sur la même machine. - -Pour les lancer sur différentes machines, on n'utilisera pas ce script mais on lancera à la main : +Pour les lancer sur différentes machines, on lancera à la main : ```bash # Pour l'instance principale, sur la machine A