NIFIREG-329 Add build profile that tests all DBs

This closes #240.

Signed-off-by: Bryan Bende <bbende@apache.org>
diff --git a/README.md b/README.md
index 98868bf..4999a69 100644
--- a/README.md
+++ b/README.md
@@ -64,31 +64,23 @@
 
 ## Database Testing
 
-In order to ensure that NiFi Registry works correctly against different relational databases, the existing integration tests can be run against different databases by leveraging the [Testcontainers framework](https://www.testcontainers.org/).
+In order to ensure that NiFi Registry works correctly against different relational databases, 
+the existing integration tests can be run against different databases by leveraging the [Testcontainers framework](https://www.testcontainers.org/).
 
-Spring profiles are used to control the DataSource factory that will be made available to the Spring application context. DataSource factories are provided that use the Testcontainers framework to start a Docker container for a given database and create a corresponding DataSource. If no profile is specified then an H2 DataSource will be used by default and no Docker containers are required.
+Spring profiles are used to control the DataSource factory that will be made available to the Spring application context. 
+DataSource factories are provided that use the Testcontainers framework to start a Docker container for a given database and create a corresponding DataSource. 
+If no profile is specified then an H2 DataSource will be used by default and no Docker containers are required.
 
 Assuming Docker is running on the system where the build is running, then the following commands can be run:
 
-* H2 (default)
-    
-      mvn clean install -Pcontrib-check,integration-tests
-      
-* Postgres
-
-      mvn clean install -Pcontrib-check,integration-tests -Dspring.profiles.active=postgres
-      
-* MySQL 5.6
-
-      mvn clean install -Pcontrib-check,integration-tests -Dspring.profiles.active=mysql-56
-      
-* MySQL 5.7
-
-      mvn clean install -Pcontrib-check,integration-tests -Dspring.profiles.active=mysql-57
-      
-* MySQL 8.0
-
-      mvn clean install -Pcontrib-check,integration-tests -Dspring.profiles.active=mysql-8
+| Target Database | Build Command | 
+| --------------- | ------------- |
+| All supported   | `mvn verify -Ptest-all-dbs` |
+| H2 (default)    | `mvn verify` |
+| PostgreSQL      | `mvn verify -Dspring.profiles.active=postgres` | 
+| MySQL 5.6       | `mvn verify -Pcontrib-check -Dspring.profiles.active=mysql-56` |
+| MySQL 5.7       | `mvn verify -Pcontrib-check -Dspring.profiles.active=mysql-57` |
+| MySQL 8         | `mvn verify -Pcontrib-check -Dspring.profiles.active=mysql-8`  |
       
  When one of the Testcontainer profiles is activated, the test output should show logs that indicate a container has been started, such as the following:
  
diff --git a/nifi-registry-core/pom.xml b/nifi-registry-core/pom.xml
index bf5c090..b85abef 100644
--- a/nifi-registry-core/pom.xml
+++ b/nifi-registry-core/pom.xml
@@ -146,4 +146,72 @@
         </dependencies>
     </dependencyManagement>
 
+    <profiles>
+        <profile>
+            <id>test-all-dbs</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-failsafe-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>mysql5.6-test</id>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                                <configuration>
+                                    <systemPropertyVariables>
+                                        <spring.profiles.active>mysql-56</spring.profiles.active>
+                                    </systemPropertyVariables>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>mysql5.7-test</id>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                                <configuration>
+                                    <systemPropertyVariables>
+                                        <spring.profiles.active>mysql-57</spring.profiles.active>
+                                    </systemPropertyVariables>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>mysql58-test</id>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                                <configuration>
+                                    <systemPropertyVariables>
+                                        <spring.profiles.active>mysql-8</spring.profiles.active>
+                                    </systemPropertyVariables>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>postgres-test</id>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                                <configuration>
+                                    <systemPropertyVariables>
+                                        <spring.profiles.active>postgres</spring.profiles.active>
+                                    </systemPropertyVariables>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
 </project>