Add tagging to docker 89/109189/1
authorsebdet <sebastien.determe@intl.att.com>
Tue, 16 Jun 2020 10:10:00 +0000 (12:10 +0200)
committersebdet <sebastien.determe@intl.att.com>
Tue, 16 Jun 2020 10:10:00 +0000 (12:10 +0200)
Add tagging groovy script to docker images

Issue-ID: SDC-3097
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Change-Id: I4246a07fae11a4907d7d337fd882f074e36bc0b5

pom.xml
sdc-workflow-designer-be/pom.xml
sdc-workflow-designer-init/pom.xml
sdc-workflow-designer-ui/pom.xml

diff --git a/pom.xml b/pom.xml
index 33f56e8..775e216 100644 (file)
--- a/pom.xml
+++ b/pom.xml
         <maven-checkstyle-plugin.version>2.17</maven-checkstyle-plugin.version>
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
+        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <sdc.project.version>${project.version}</sdc.project.version>
+        <sdc.build.timestamp>${maven.build.timestamp}</sdc.build.timestamp>
         <onap.version>1.3.0</onap.version>
         <docker.optimize>true</docker.optimize>
         <docker.username>docker</docker.username>
@@ -45,7 +48,6 @@
         <nexus.registry>nexus3.onap.org:10001</nexus.registry>
         <nexus.proxy>https://nexus.onap.org</nexus.proxy>
         <sitePath>/content/sites/site/org/onap/sdc/workflow/${project.version}</sitePath>
-               
                <!-- Sonar properties -->
                <sonar.coverage.jacoco.xmlReportPaths>
                        ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.codehaus.groovy.maven</groupId>
+                <artifactId>gmaven-plugin</artifactId>
+                <version>1.0</version>
+                <inherited>true</inherited>
+                <executions>
+                    <execution>
+                        <id>docker-tags</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
+                        <configuration>
+                            <source>
+                                println 'Docker Tagging Script:' + project.properties['sdc.project.version'] + '/' + project.properties['sdc.build.timestamp'];
+                                def versionArray;
+                                if ( project.properties['sdc.project.version'] != null ) {
+                                    versionArray = project.properties['sdc.project.version'].split('\\.');
+                                }
+
+                                if ( project.properties['sdc.project.version'].endsWith("-SNAPSHOT") ) {
+                                    project.properties.setProperty('project.docker.latesttag.version',versionArray[0] + '.' + versionArray[1] + "-SNAPSHOT-latest");
+                                    project.properties.setProperty('project.docker.latesttagtimestamp.version',versionArray[0] + '.' + versionArray[1] + "-SNAPSHOT-"+project.properties['sdc.build.timestamp']);
+                                } else {
+                                    project.properties.setProperty('project.docker.latesttag.version',versionArray[0] + '.' + versionArray[1] + "-STAGING-latest");
+                                    project.properties.setProperty('project.docker.latesttagtimestamp.version',versionArray[0] + '.' + versionArray[1] + "-STAGING-"+project.properties['sdc.build.timestamp']);
+                                }
+
+                                println 'New Tags for docker:' + project.properties['project.docker.latesttag.version'] + '/' + project.properties['project.docker.latesttagtimestamp.version'];
+                            </source>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 
index aedc9ef..c06314e 100644 (file)
                                     <name>onap/sdc-workflow-backend</name>
                                     <build>
                                         <tags>
-                                            <tag>${project.version}</tag>
+                                            <tag>latest</tag>
+                                            <tag>${project.docker.latesttagtimestamp.version}</tag>
+                                            <tag>${project.docker.latesttag.version}</tag>
                                         </tags>
                                         <dockerFileDir>${project.basedir}/docker</dockerFileDir>
                                         <args>
index 0a5b5a4..240181d 100644 (file)
@@ -30,7 +30,9 @@
                                     <name>onap/sdc-workflow-init</name>
                                     <build>
                                         <tags>
-                                            <tag>${project.version}</tag>
+                                            <tag>latest</tag>
+                                            <tag>${project.docker.latesttagtimestamp.version}</tag>
+                                            <tag>${project.docker.latesttag.version}</tag>
                                         </tags>
                                         <dockerFile>Dockerfile</dockerFile>
                                     </build>
index 9c254e4..554d94b 100644 (file)
                                     <name>onap/sdc-workflow-frontend</name>
                                     <build>
                                         <tags>
-                                            <tag>${project.version}</tag>
+                                            <tag>latest</tag>
+                                            <tag>${project.docker.latesttagtimestamp.version}</tag>
+                                            <tag>${project.docker.latesttag.version}</tag>
                                         </tags>
                                         <dockerFileDir>${project.basedir}/docker</dockerFileDir>
                                         <args>