8 déc. 2019 22:28:42 Thomas Dumont avatar

Déployer sur Openshift

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)