Pages enfant
  • 3.15 Déploiement en production

Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=100663524) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 10) afficher la version suivante »

Plutôt Déploiement en Production

Utilisation d'un "profile" Maven nommé "Production"

Ce "profile" va nous permettre de:

  • réaliser un filtre sur les fichiers de configuration de manière à substituer les variables réelles de production à celles qui ont été préparées.
  • produire un fichier WAR déployable en mode servlet et/ou portlet grace à la tâche ant "portlet.deploy" livrée avec le portail Esup.

Voici un exemple de code:

<profile>
	<id>Production</id>
	<activation>
		<property>
			<name>Production</name>
			<value>true</value>
		</property>
	</activation>
	<build>
		<filters>
			<filter>src/main/resources/properties/defaults.properties</filter>
			<filter>src/main/resources/properties/config.properties</filter>
		</filters>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<defaultGoal>package</defaultGoal>
		<plugins>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1</version>
				<configuration>
					<webResources>
						<resource>
							<filtering>true</filtering>
							<directory>src/main/webapp</directory>
							<includes>
								<include>WEB-INF/web.xml</include>
								<include>WEB-INF/portlet.xml</include>
							</includes>
						</resource>
					</webResources>
					<warName>esup-blank-${misc.version}</warName>
				</configuration>
			</plugin>
		</plugins>
	</build>
</profile>

Dans l'environnement de production, lancer Maven pour ce "profile":

mvn -DProduction=true clean package

On peut alors lancer la tâche ant "portlet.deploy" qui va assembler dan sun nouveau web.xml le web.xml livré dans le WAR avec le fichier portlet.xml.

L'application pourra alors fonctionner dans le portail en mode servlet et en mode portlet.

Voici la commande à lancer (depuis l'environnement Esup-package:

ant portlet.deploy -DportletApp=...monFichierWar...

Il est bien sûr nécessaire de réaliser un fichier "chanpub" pour que la portlet apparaisse au bon endroit et avec les bon droits associés dans le portail.

Personnaliser le déploiement

Pour mettre pleinement en œuvre la procédure ci-dessus dans le cadre d'un établissement, tout en gardant vos paramètres de configuration particuliers, vous pouvez suivre ces différentes étapes:

  1. Si ce n'est déjà fait, mettre en place un espace de BUILD qui soit différent de la production.
  2. Créer dans cet espace un répertoire spécifique pour l'application
  3. Depuis ce répertoire, lancer un script avec les commandes suivantes (ici avec l'application esup-annuaire2):
    svn co https://subversion.cru.fr/esup-annuaire2/trunk/esup-annuaire2
    zip -r packages/esup-annuaire2.zip esup-annuaire2/
    rm -rf esup-annuaire2/
    
  • Aucune étiquette