Transfert du site de production sur OVH
Lors d'une précédente panne du réseau INRAE, le site a été transféré manuellement vers le serveur OVH.
Il faut maintenant adapter le processus de déploiement automatique lors d'une release pour publier vers OVH à la place du serveur Inrae.
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- David Dorchies changed milestone to %Version 4.15.0
changed milestone to %Version 4.15.0
- David Dorchies added To Do bug pieuvre mécanique labels
added To Do bug pieuvre mécanique labels
- David Dorchies assigned to @francois.grand
assigned to @francois.grand
By Dorchies David on 2022-03-15T17:24:31 (imported from GitLab)
- Author Owner
Utiliser les variables d'environnement suivantes pour la connexion au serveur:
OVH_SFTP
,OVH_LOGIN
,OVH_PASS
Voir https://gitlab.irstea.fr/in-wop/airGRiwrm/-/blob/dev/.gitlab-ci.yml#L55 pour un exemple de rsync qui fonctionne sur OVH (si sshpass est dans l'image docker le
sudo apt-get install sshpass
n'est pas nécessaire).By Dorchies David on 2022-03-16T16:10:17 (imported from GitLab)
- Author Owner
gitlab-ci :
- deploy : copie dist sur push/tag/web vers aubes/cassiopee
- deploy-stable :
- copie dist sur tag "stable" vers aubes/cassiopee-production
- modif index.html
- releases-nightly :
- génère sur schedule les artéfacts d'install
- copie sur schedule les artéfacts d'install vers aubes
- releases-version : appel sur tag xx.yy.zz de release-version.sh
- dir=aubes:/var/www/cassiopee-production/cassiopee-releases
- fichier release=aubes:/var/www/cassiopee-production/cassiopee-releases/releases.json
release-version.sh :
- MAJ de serveur/releases.json
- génère les artéfacts d'install
- copie les artéfacts d'install vers serveur
- MAJ des liens "xx-latest.[exe|deb|...]" sur serveur
Propositions :
- en modifiant release-version.sh pour ne pas mettre à jour releases.json si la version est "nightly", on peut l'utiliser pour release-nightly
- créer un script deploy-version.sh avec comme paramètres le serveur destination et la version (modif d'index.html seulement si version==stable)
- l'utiliser pour deploy (serveur=aubes, version=commit-ref_name)
- l'utiliser 2 fois pour deploy-stable (aubes, OVH, version=stable)
By Grand Francois on 2022-04-15T08:40:05 (imported from GitLab)
Edited by David Dorchies - Author Owner
Si je résume les opérations qui sont effectuées par
/scripts/deploy-new-stable-version.sh x.y.z
et ses conséquences:D'abord pour jalhyd:
- Dans
../jalhyd
checkout master
- MAJ de la version de package.json de jalhyd à "x.y.z" et commit de la modif
-
git tag x.y.z.
PUISgit tag stable
Ensuite pour nghyd:
- Dans
../nghyd
checkout master
-
npm install
et vérification qu'aucune MAJ de dépendance n'est intervenu - MAJ de la version de package.json de jalhyd à "x.y.z" et commit de la modif
-
git tag stable
PUISgit tag x.y.z.
Du côté de gitlab-ci:
Les deux
git tag
sur nghyd lance les jobs suivant:- jalhyd
- install
- test
- build
- deploy: déploiement sur aubes dans
$DEPLOY_URL/$CI_COMMIT_REF_NAME
(cassiopee/tag) - deploy-stable (seulement sur
git tag stable
): déploiement sur$DEPLOY_STABLE_URL
(cassiopee.g-eau.fr) - releases-version (seulement sur
git tag x.y.z.
): déploiement des exe sur$DEPLOY_STABLE_URL/cassiopee-releases
(cassiopee.g-eau.fr/cassiopee-releases)
En complément le scheduled pipeline lance le job releases-nightly qui déploie aussi les exe nightly sur
$DEPLOY_STABLE_URL/cassiopee-releases
(cassiopee.g-eau.fr/cassiopee-releases).By Dorchies David on 2022-04-15T09:08:01 (imported from GitLab)
Edited by David Dorchies - Dans
- Author Owner
Propositions :
- en modifiant release-version.sh pour ne pas mettre à jour releases.json si la version est "nightly", on peut l'utiliser pour release-nightly
Oui en appelant:
release-version.sh nightly
et en ne mettant pas à jour releases.json pour$1 == nightly
- créer un script deploy-version.sh avec comme paramètres le serveur destination et la version (modif d'index.html seulement si version==stable)
- l'utiliser pour deploy (serveur=aubes, version=commit-ref_name)
OK
- l'utiliser 2 fois pour deploy-stable (aubes, OVH, version=stable)
Non, ce n'est pas nécessaire. Le déploiement sur aubes/cassiopee/stable a déjà été effectué par le job deploy.
By Dorchies David on 2022-04-15T09:26:13 (imported from GitLab)
- Author Owner
Les variables d'environnement suivantes sont disponibles:
$OVH_LOGIN
,$OVH_PASS
,$OVH_HOST
, et$OVH_PATH
Le serveur de production http://cassiopee.g-eau.fr est hébergé sur OVH.
Le serveur de développement http://hydraulique.g-eau.fr/cassiopee est herbergé sur Aubes.
J'ai créé un dossier cassiopee-dev et un sous domaine http://cassiopee-dev.g-eau.fr sur OVH pour faire les tests.
By Dorchies David on 2022-04-15T10:13:10 (imported from GitLab)
Edited by David Dorchies - Author Owner
La ligne de commande pour copier le site de prod devrait être:
sshpass -p "${OVH_PASS}" rsync -a -e "ssh -o StrictHostKeyChecking=no" dist/ ${OVH_LOGIN}@${OVH_HOST}:/home/${OVH_LOGIN}/${OVH_PATH}/
By Dorchies David on 2022-04-15T09:53:16 (imported from GitLab)
Edited by David Dorchies - David Dorchies created merge request !128 (merged) to address this issue
created merge request !128 (merged) to address this issue
By Grand Francois on 2022-04-15T10:06:40 (imported from GitLab)
- David Dorchies mentioned in merge request !128 (merged)
mentioned in merge request !128 (merged)
By Grand Francois on 2022-04-15T10:06:41 (imported from GitLab)
- Author Owner
Les jobs sont actuellement nommés en fonction de la condition qui les déclenche et non en fonction de ce qu'ils font. Pour éviter la confusion, on peut renommer les jobs: deploy en deploy-dev et deploy-stable en deploy-prod
By Dorchies David on 2022-04-15T10:16:52 (imported from GitLab)
- David Dorchies mentioned in commit f71050db
mentioned in commit f71050db
By Grand Francois on 2022-04-19T13:52:41 (imported from GitLab)
- David Dorchies mentioned in commit 4dee5035
mentioned in commit 4dee5035
By Grand Francois on 2022-04-19T13:52:41 (imported from GitLab)
- David Dorchies mentioned in commit 09f1f8fe
mentioned in commit 09f1f8fe
By Grand Francois on 2022-04-19T13:52:41 (imported from GitLab)
- David Dorchies mentioned in commit 48b5b2a9
mentioned in commit 48b5b2a9
By Grand Francois on 2022-04-19T13:52:41 (imported from GitLab)
- David Dorchies mentioned in commit fc6d4f14
mentioned in commit fc6d4f14
By Grand Francois on 2022-04-19T13:52:41 (imported from GitLab)
- David Dorchies mentioned in commit 60cdd204
mentioned in commit 60cdd204
By Grand Francois on 2022-04-19T14:34:30 (imported from GitLab)
- David Dorchies mentioned in commit 19e64e87
mentioned in commit 19e64e87
By Grand Francois on 2022-04-19T14:53:19 (imported from GitLab)
- David Dorchies mentioned in commit 9c51acce
mentioned in commit 9c51acce
By Grand Francois on 2022-04-19T15:11:26 (imported from GitLab)