1. 程式人生 > >1. docker-maven

1. docker-maven

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>