1. docker-maven
阿新 • • 發佈:2018-12-26
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>[email protected]</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>