« ShinyProxy » : différence entre les versions
mAucun résumé des modifications |
|||
| (2 versions intermédiaires par la même utilisatrice non affichées) | |||
| Ligne 158 : | Ligne 158 : | ||
Pour que le serveur ShinyProxy (ainsi que le monde entier !) puisse accéder à votre image, il faut la pousser sur un registre. Si vous ne souhaitez pas que votre image soit publique, vous pouvez utiliser le registre ghcr.io/evs-gis (le serveur ShinyProxy y a accès même si les images sont privées). | Pour que le serveur ShinyProxy (ainsi que le monde entier !) puisse accéder à votre image, il faut la pousser sur un registre. Si vous ne souhaitez pas que votre image soit publique, vous pouvez utiliser le registre ghcr.io/evs-gis (le serveur ShinyProxy y a accès même si les images sont privées). | ||
Il faut d'abord se loguer sur le registre avec son login GitHub habituel, et un ''Personal Access Token'' en guise de mot de passe. Pour [https://github.com/settings/tokens/new obtenir un ''Personal Access Token''], rendez-vous [https://github.com/settings/tokens/new ici] et activez bien le droit <code>write:packages</code> pour votre token. <syntaxhighlight lang="sh"> | Il faut d'abord se loguer sur le registre avec son login GitHub habituel, et un ''Personal Access Token'' en guise de mot de passe. Pour [https://github.com/settings/tokens/new obtenir un ''Personal Access Token''], rendez-vous [https://github.com/settings/tokens/new ici] et activez bien le droit <code>write:packages</code> pour votre token. <syntaxhighlight lang="sh"># La commande suivante est à lancer pour se loguer sur le registre. Il n'est pas nécessaire de la relancer à chaque fois. | ||
# La commande suivante est à lancer pour se loguer sur le registre. Il n'est pas nécessaire de la relancer à chaque fois. | |||
docker login ghcr.io | docker login ghcr.io | ||
| Ligne 166 : | Ligne 165 : | ||
# Pour pousser seulement un tag spécifique, on préfèrera la commande suivante. | # Pour pousser seulement un tag spécifique, on préfèrera la commande suivante. | ||
docker push ghcr.io/evs-gis/mapdoapp:latest | docker push ghcr.io/evs-gis/mapdoapp:latest</syntaxhighlight> | ||
</syntaxhighlight> | |||
== Configuration de l'application sur le serveur ShinyProxy de production == | == Configuration de l'application sur le serveur ShinyProxy de production == | ||
| Ligne 197 : | Ligne 195 : | ||
</syntaxhighlight>On peut aussi combiner défilement en live + grep<syntaxhighlight lang="bash"> | </syntaxhighlight>On peut aussi combiner défilement en live + grep<syntaxhighlight lang="bash"> | ||
tail -f /data/echanges/ShinyProxyLogs/shinyapps-std*.log | grep mapdoapp | tail -f /data/echanges/ShinyProxyLogs/shinyapps-std*.log | grep mapdoapp | ||
</syntaxhighlight> | |||
== To do list mise en ligne d'une nouvelle appli == | |||
1) récupérer dans le dossier d'une appli déjà mise en ligne sur ShinyProxy: run.R (si appli learnr), dockerfile, et le dossier .github qui contient un yaml qui permettra de build et push l'image docker sur le ShinyProxy. | |||
2) modifier dans run.R (si appli learnr) le nom du Rmd à tricoter | |||
3) modifier dans le yaml le nom de l'image docker (deux lignes à changer) | |||
4) modifier le dockerfile: infos sur l'appli et noms des packages à installer | |||
5) build l'image docker localement pour vérifier que tout est ok, par ex. <syntaxhighlight lang="bash"> | |||
docker build . -t ghcr.io/lvaudor/learnr_exos_shiny:latest | |||
</syntaxhighlight>6) run un container pour vérifier que tout est ok, par ex.<syntaxhighlight lang="bash"> | |||
docker run --rm -p 3840:3840 ghcr.io/learnr_shiny_exos:latest | |||
</syntaxhighlight>7) Aller sur le repo github et changer paramètres: Settings => Actions => General => Workflow permissions => Cocher Read and write permissions | |||
8) Faire un commit et push des dernières modifs sur main => Une image docker doit être créée dans les github Actions | |||
9) Prévenir Samuel pour qu'il ajoute la nouvelle appli au registre | |||
== To do list mise à jour d'une appli == | |||
1) build l'image docker localement pour vérifier que tout est ok, par ex.<syntaxhighlight lang="bash"> | |||
docker build . -t ghcr.io/lvaudor/learnr_exos_shiny:latest | |||
</syntaxhighlight>2) run un container pour vérifier que tout est ok, par ex.<syntaxhighlight lang="bash"> | |||
docker run --rm -p 3840:3840 ghcr.io/learnr_shiny_exos:latest | |||
</syntaxhighlight>3) Faire le docker push pour mettre à jour le registre<syntaxhighlight lang="bash"> | |||
docker push ghcr.io/lvaudor/learnr_shiny_exos:latest | |||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Catégorie:Tutoriel]] | [[Catégorie:Tutoriel]] | ||