pom.xml 8.2 KB

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