Salut,
J'ai plusieurs projets web. J'aimerais envoyer vers un serveur FTP le war issu de la compilation pour déploiement en production. Tous les war seront déployés sur le même serveur de production.
J'aimerais que, en fonction du profil choisi, le war soit déployé sur tel ou tel poste. Pour le profil dev, j'appellerais le plugin maven-antrun-plugin pour copier le war dans un dossier de ma machine locale. Pour le profile prod, j'appellerais le plugin maven-antrun-plugin pour envoyer le war sur un serveur FTP.
Pour l'instant j'arrive à lancer un build particulier en précisant un profil quand tout est défini dans le pom fils :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 <project> ... <profiles> <!-- Profile dev : copie sur le serveur de dev local --> <profile> <id>dev</id> <build> <finalName>${project.artifactId}-${project.version}</finalName> <plugins> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>package</phase> <configuration> <tasks> <copy todir="mon/dossier/de/destination" file="target/${project.artifactId}-${project.version}.war"> </copy> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Profile prod : envoi du war sur le serveur FTP --> <profile> <id>prod</id> <build> <finalName>${project.artifactId}-${project.version}</finalName> <plugins> <plugin> <inherited>true</inherited> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>package</phase> <id>ftp</id> <goals> <goal>run</goal> </goals> <configuration> <tasks> <ftp server="monServeur" port="21" action="send" remotedir="/" userid="monUser" password="***" verbose="yes" > <fileset dir="target"> <include name="${project.artifactId}-${project.version}.war" /> </fileset> </ftp> </tasks> </configuration> </execution> </executions> <!-- Dépendances nécessaires à l'utilisation des fonctionnalités FTP de maven-antrun-plugin --> <dependencies> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>1.4.1</version> </dependency> <dependency> <groupId>ant</groupId> <artifactId>ant-commons-net</artifactId> <version>1.6.5</version> </dependency> </dependencies> </plugin> </plugins> </build> </profile> </profiles> </project>
De manière à ne pas dupliquer le code, j'aimerais tout centraliser dans le pom parent en déplaçant le contenu de la balise <profiles> dans le pom parent. Visiblement, ça ne fonctionne pas. Savez-vous pourquoi ?
Partager