8 déc. 2019 22:28:42 Thomas Dumont
Déployer sur Openshift
Utilisez openshift pour héberger des applications lutece: https://www.openshift.com/ créez un compte sur le site Web, puis utilisez l'outil de ligne de commande rhc https://developers.openshift.com/fr/managing-client-tools.html
- Créez une application tomcat7:
$ rhc create-app démo jbossews-2.0
- Ajouter mysql
$ rhc cartridge-add -a demo mysql-5.5
- Remplacez le fichier pom.xml dans le projet généré par un site lutece-pom.xml et développez votre site lutece (par exemple utilisez lutece WebappStore http://fr.lutece.paris.fr/fr/jsp/site/Portal. jsp? page = appstore)
- Dire comment construire des wars lutèce
Définissez une variable d'environnement avec rhc pour cette application
$ rhc env-set -a démo -e MAVEN_ARGS = "nettoyer lutece:site-assembly -Popenshift"Vous pouvez également ajouter le fichier exécutable suivant au référentiel pour qu'il fonctionne avec toutes les applications de travail ouvertes.
$ ls -l .openshift / action_hooks / pre_build -rwxrwxr-x 1 jon jon 47 juil. 21 19:39 .openshift / action_hooks / pre_build
$ cat .openshift / action_hooks / pre_build export MAVEN_ARGS = "nettoyer lutece:site-assembly -Popenshift"
- Modifier le fichier server.xml par défaut pour unpackWars:
diff - git a / .openshift / config / server.xml b / .openshift / config / server.xml indice 70f0514..727be57 100644 --- a / .openshift / config / server.xml +++ b / .openshift / config / server.xml @@ -124,7 +124,7 @@ </Realm> <Nom d'hôte = "localhost" appBase = "webapps" - unpackWARs = "false" autoDeploy = "true"> + unpackWARs = "true" autoDeploy = "true"> <! - Valve SingleSignOn, partage de l'authentification entre les applications Web Documentation sur: /docs/config/valve.html ->
- utiliser le pool de connexion tomcat par défaut de openshift:
diff - git a / webapp / WEB-INF / conf / db.properties b / webapp / WEB-INF / conf / db.properties nouveau mode de fichier 100644 index 0000000..b3d7a07 --- / dev / null +++ b / webapp / WEB-INF / conf / db.properties @@ -0,0 +1,2 @@ + portal.poolservice = fr.paris.lutece.util.pool.service.TomcatConnectionService + portal.ds = jdbc / MySQLDS
- Générez le war dans le bon dossier avec le nom correct:
diff - git a / pom.xml b / pom.xml indice bd894b7..6efadfe 100644 --- a / pom.xml +++ b / pom.xml @@ -48,6 +48,23 @@ </plugins> </build> </profile> + <profil> + <id> openshift </id> + <build> + <plugins> + <plugin> + <groupId> fr.paris.lutece.tools </groupId> + <artifactId> lutece-maven-plugin </artifactId> + <version> 4.0.1 </version> + <extensions> true </extensions> + <configuration> + <finalName> ROOT </finalName> + <outputDirectory> webapps </outputDirectory> + </configuration> + </plugin> + </plugins> + </build> + </profile> </profiles> <référentiels> <référentiel>
- télécharger une image de base de données initiale:
$ rhc scp démo télécharger sitedemo.sql app-root / données
Pour obtenir le vidage initial de la base de données, vous pouvez par exemple lancer le site sur la machine locale (mvn lutece:site-assembly, configurer la base de données, exécuter ant dans le dossier target / WEB-INF / sql) et lancer mysqldump. - ssh et charge la décharge
$ rhc ssh demo
$ demo mysql <app-root / data / sitedemo.sql
- git commit et poussez tout (s'il y a un timeout lors de la construction sur openshift, ajoutez un retour à la ligne dans un fichier et poussez à nouveau)