pom.xml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <parent>
  5. <groupId>com.xuxueli</groupId>
  6. <artifactId>integrated-job</artifactId>
  7. <version>2.3.0</version>
  8. </parent>
  9. <artifactId>job-admin</artifactId>
  10. <packaging>jar</packaging>
  11. <dependencies>
  12. <!-- starter-web:spring-webmvc + autoconfigure + logback + yaml + tomcat -->
  13. <dependency>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-starter-web</artifactId>
  16. </dependency>
  17. <!-- starter-test:junit + spring-test + mockito -->
  18. <dependency>
  19. <groupId>org.springframework.boot</groupId>
  20. <artifactId>spring-boot-starter-test</artifactId>
  21. <scope>test</scope>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.junit.jupiter</groupId>
  25. <artifactId>junit-jupiter</artifactId>
  26. <version>${junit-jupiter.version}</version>
  27. <scope>test</scope>
  28. </dependency>
  29. <!-- freemarker-starter -->
  30. <dependency>
  31. <groupId>org.springframework.boot</groupId>
  32. <artifactId>spring-boot-starter-freemarker</artifactId>
  33. </dependency>
  34. <!-- mail-starter -->
  35. <dependency>
  36. <groupId>org.springframework.boot</groupId>
  37. <artifactId>spring-boot-starter-mail</artifactId>
  38. </dependency>
  39. <!-- starter-actuator -->
  40. <dependency>
  41. <groupId>org.springframework.boot</groupId>
  42. <artifactId>spring-boot-starter-actuator</artifactId>
  43. </dependency>
  44. <!-- mybatis-starter:mybatis + mybatis-spring + hikari(default) -->
  45. <dependency>
  46. <groupId>org.mybatis.spring.boot</groupId>
  47. <artifactId>mybatis-spring-boot-starter</artifactId>
  48. <version>${mybatis-spring-boot-starter.version}</version>
  49. </dependency>
  50. <!-- mysql -->
  51. <dependency>
  52. <groupId>mysql</groupId>
  53. <artifactId>mysql-connector-java</artifactId>
  54. <!-- <version>${mysql-connector-java.version}</version> -->
  55. </dependency>
  56. <!-- xxl-job-core -->
  57. <dependency>
  58. <groupId>com.xuxueli</groupId>
  59. <artifactId>job-core</artifactId>
  60. <version>${project.parent.version}</version>
  61. <exclusions>
  62. <exclusion>
  63. <artifactId>javassist</artifactId>
  64. <groupId>org.javassist</groupId>
  65. </exclusion>
  66. <exclusion>
  67. <artifactId>poi-ooxml-schemas</artifactId>
  68. <groupId>org.apache.poi</groupId>
  69. </exclusion>
  70. <exclusion>
  71. <artifactId>mybatis</artifactId>
  72. <groupId>org.mybatis</groupId>
  73. </exclusion>
  74. <exclusion>
  75. <artifactId>poi</artifactId>
  76. <groupId>org.apache.poi</groupId>
  77. </exclusion>
  78. <exclusion>
  79. <artifactId>commons-logging</artifactId>
  80. <groupId>commons-logging</groupId>
  81. </exclusion>
  82. <exclusion>
  83. <artifactId>poi-ooxml</artifactId>
  84. <groupId>org.apache.poi</groupId>
  85. </exclusion>
  86. </exclusions>
  87. </dependency>
  88. <!-- knife4j for swagger -->
  89. <!--<dependency>
  90. <groupId>com.github.xiaoymin</groupId>
  91. <artifactId>knife4j-spring-boot-starter</artifactId>
  92. <version>${knife4j-spring-boot-starter.version}</version>
  93. </dependency>-->
  94. </dependencies>
  95. <properties>
  96. <docker.registry>labisenlin.persagy.com</docker.registry>
  97. <docker.plugin.version>0.32.0</docker.plugin.version>
  98. <docker.username>admin</docker.username>
  99. <docker.password>1qaz@WSX</docker.password>
  100. <docker.namespace>integrated-public</docker.namespace>
  101. <docker.host>http://192.168.52.100:2375</docker.host>
  102. <docker.tcp.host>tcp://192.168.52.100:2375</docker.tcp.host>
  103. </properties>
  104. <build>
  105. <plugins>
  106. <plugin>
  107. <groupId>org.springframework.boot</groupId>
  108. <artifactId>spring-boot-maven-plugin</artifactId>
  109. <executions>
  110. <execution>
  111. <goals>
  112. <goal>repackage</goal>
  113. </goals>
  114. </execution>
  115. </executions>
  116. </plugin>
  117. <!-- docker -->
  118. <!--<plugin>
  119. <groupId>com.spotify</groupId>
  120. <artifactId>docker-maven-plugin</artifactId>
  121. <version>0.4.13</version>
  122. <configuration>
  123. &lt;!&ndash; made of '[a-z0-9-_.]' &ndash;&gt;
  124. <imageName>${project.artifactId}:${project.version}</imageName>
  125. <dockerDirectory>${project.basedir}</dockerDirectory>
  126. <resources>
  127. <resource>
  128. <targetPath>/</targetPath>
  129. <directory>${project.build.directory}</directory>
  130. <include>${project.build.finalName}.jar</include>
  131. </resource>
  132. </resources>
  133. </configuration>
  134. </plugin>-->
  135. <plugin>
  136. <groupId>io.fabric8</groupId>
  137. <artifactId>docker-maven-plugin</artifactId>
  138. <version>${docker.plugin.version}</version>
  139. <!--全局配置-->
  140. <configuration>
  141. <!--这一部分是为了实现对远程docker容器的控制-->
  142. <!--docker主机地址,用于完成docker各项功能,注意是tcp不是http!-->
  143. <dockerHost>${docker.tcp.host}</dockerHost>
  144. <!--docker远程访问所需证书地址,如果docker远程主机没有启用TLS验证则不需要配证书-->
  145. <certPath>${project.basedir}/docker/ssh</certPath>
  146. <!--这一部分是为了实现docker镜像的构建和推送-->
  147. <!--registry地址,用于推送,拉取镜像,我这里用的是阿里的registry-->
  148. <registry>${docker.registry}</registry>
  149. <!--认证配置,用于私有registry认证,如果忘记了可以去阿里的registry查看-->
  150. <authConfig>
  151. <push>
  152. <username>${docker.username}</username>
  153. <password>${docker.password}</password>
  154. </push>
  155. </authConfig>
  156. <!--镜像相关配置,支持多镜像-->
  157. <images>
  158. <!-- 单个镜像配置 -->
  159. <image>
  160. <!--镜像名(含版本号)-->
  161. <name>${docker.registry}/${docker.namespace}/${project.name}:${project.version}</name>
  162. <!--别名:用于容器命名和在docker-compose.yml文件只能找到对应名字的配置-->
  163. <alias>${project.name}</alias>
  164. <!--<copy>
  165. <entries>
  166. <entry>
  167. &lt;!&ndash; The container directory to copy &ndash;&gt;
  168. <containerPath>/mnt/integrated/job-admin/app.jar</containerPath>
  169. <hostDirectory>${project.basedir}/target/*.jar</hostDirectory>
  170. </entry>
  171. </entries>
  172. </copy>-->
  173. <!--镜像build相关配置-->
  174. <build>
  175. <!--使用dockerFile文件-->
  176. <dockerFile>${project.basedir}/Dockerfile</dockerFile>
  177. <!--<from>registry.persagy.com/base/centos:v-jdk1.8</from>
  178. <workdir>/mnt/integrated/job-admin</workdir>
  179. <env>
  180. <TZ>Asia/Shanghai</TZ>
  181. <WORKER_HOME>/mnt/integrated/job-admin</WORKER_HOME>
  182. </env>
  183. <labels>
  184. <tier>backend</tier>
  185. <product>integrated</product>
  186. <project>job-admin</project>
  187. <name>job-admin</name>
  188. </labels>
  189. <runCmds>
  190. <run>ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime</run>
  191. <run>echo 'Asia/Shanghai' > /etc/timezone</run>
  192. <run>mkdir -p $WORKER_HOME/config</run>
  193. </runCmds>
  194. &lt;!&ndash;相当于Dockerfile中的entryPoint &ndash;&gt;
  195. <entryPoint>
  196. <exec>
  197. <arg>java</arg>
  198. <arg>-jar</arg>
  199. <arg>$JAVA_OPTS</arg>
  200. <arg>-Dfile.encoding=UTF-8</arg>
  201. <arg>-Dconsole.encoding=UTF-8</arg>
  202. <arg>-Dserver.port=$SERVER_PORT</arg>
  203. <arg>app.jar</arg>
  204. </exec>
  205. </entryPoint>
  206. <assembly>
  207. &lt;!&ndash;生成的模式,默认为dir&ndash;&gt;
  208. <mode>dir</mode>
  209. &lt;!&ndash;输出的目录,在镜像容器中的位置及编译生成的jar文件名称&ndash;&gt;
  210. <targetDir>$WORKER_HOME/app.jar</targetDir>
  211. &lt;!&ndash;&ndash;&gt;
  212. <descriptorRef>project</descriptorRef>
  213. </assembly>-->
  214. </build>
  215. </image>
  216. </images>
  217. </configuration>
  218. <dependencies>
  219. <!--该插件需要这个依赖-->
  220. <dependency>
  221. <groupId>commons-codec</groupId>
  222. <artifactId>commons-codec</artifactId>
  223. <version>1.11</version>
  224. </dependency>
  225. </dependencies>
  226. </plugin>
  227. </plugins>
  228. </build>
  229. </project>