1. 上传gitlab
2. gitlab-ci deploy 执行 maven打包
3. 在maven 打包后buil Dockerfile push
maven-settings.xml
<server>
<id>docker-repo</id>
<username>my-name</username>
<password>zzzzzzz</password>
<configuration>
<email>aaa@xx.com</email>
</configuration>
</server>
pom.xml
<properties>
<environment>${package.environment}</environment>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<package.environment>test</package.environment>
<buildTimestamp>${maven.build.timestamp}</buildTimestamp>
<maven.build.timestamp.format>yyyyMMdd.HHmm</maven.build.timestamp.format>
<docker.registry>registry.xxx.com</docker.registry>
<docker.host>http://172.16.0.14:2375</docker.host>
<docker.image.repo>${docker.registry}/${jobname}</docker.image.repo>
<docker.image.tag>${project.version}</docker.image.tag>
</properties>
<profiles>
<profile>
<id>www</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>build</name>
<value>full</value>
</property>
</activation>
<properties>
<package.environment>www</package.environment>
<jobname>www.xx.com</jobname>
<buildnumber>1.${maven.build.timestamp}.${env.BUILD_NUMBER}</buildnumber>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.3.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>build</goal>
<goal>tag</goal>
</goals>
</execution>
</executions>
<configuration>
<dockerHost>${docker.host}</dockerHost>
<image>${docker.image.repo}:${docker.image.tag}</image>
<baseImage>registry.xx.com/xx-tomcat:7-jdk</baseImage>
<serverId>docker-repo</serverId>
<registryUrl>https://${docker.registry}</registryUrl>
<env>
<CATALINA_HOME>/home/tomcat</CATALINA_HOME>
<PATH>$CATALINA_HOME/bin:$PATH</PATH>
<JAVA_HOME>/home/jdk1.7.0_75</JAVA_HOME>
<TZ>'Asia/Shanghai'</TZ>
</env>
<cmd></cmd>
<resources>
<resource>
<targetPath>/home/tomcat/webapps/</targetPath>
<directory>target/</directory>
<include>**/ROOT.war</include>
</resource>
</resources>
<exposes>
<expose>8080</expose>
</exposes>
<workdir>$CATALINA_HOME</workdir>
<runs>
<run>ls</run>
</runs>
<cmd>["catalina.sh", "run"]</cmd>
<image>${docker.image.repo}:${docker.image.tag}</image>
<newName>${docker.image.repo}</newName>
<pushImage>true</pushImage>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>