diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml
new file mode 100644
index 0000000..73ef359
--- /dev/null
+++ b/.github/workflows/maven-build.yml
@@ -0,0 +1,70 @@
+#
+# Copyright (C) 2011-2022 Red Hat, Inc. (http://github.com/Commonjava/commonjava)
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This workflow will build a Java project with Maven
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
+
+name: build on maven
+
+on:
+  watch:
+    types: [started]
+  pull_request:
+    types: [opened, reopened, edited, synchronize, ready_for_review]
+  push:
+    branches:
+      - main
+      - master
+
+  workflow_dispatch:
+
+jobs:
+  build:
+    name: Build with maven
+    runs-on: ubuntu-latest
+    env:
+      MAVEN_OPTS: "-Xmx4096m -Xms2048m -XX:MaxMetaspaceSize=4096m -Xss8m"
+    steps:
+    - uses: actions/checkout@v4
+
+    - name: Set up JDK 11 for x64
+      uses: actions/setup-java@v3
+      with:
+        java-version: '11'
+        distribution: 'temurin'
+        architecture: x64
+
+    - uses: s4u/maven-settings-action@v2.8.0
+      with:
+        sonatypeSnapshots: true
+
+    - name: Build the Maven verify phase
+      run: mvn -B -V clean verify -Prun-its -Pci
+
+
+    - uses: s4u/maven-settings-action@v2.8.0
+      if: ${{ github.event_name == 'push' }}
+      with:
+        servers: |
+          [{
+              "id": "central",
+              "username": "${{ secrets.SONATYPE_BOT_USERNAME }}",
+              "password": "${{ secrets.SONATYPE_BOT_TOKEN }}"
+          }]
+
+    - name: Deploy the artifact
+      if: ${{ github.event_name == 'push' }}
+      run: mvn help:effective-settings -B -V clean deploy -e
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 735c203..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: java
-install: '/bin/true'
-script: '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && mvn deploy  -s ./travis-settings.xml -V -Prun-its -q -B -e|| mvn install -s ./travis-settings.xml -V -Prun-its -q -B -e'
-
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..61c4af3
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,25 @@
+pipeline {
+    agent { label 'maven-36-jdk11' }
+    stages {
+        stage('Prepare') {
+            steps {
+                sh 'printenv'
+            }
+        }
+        stage('Build') {
+            when {
+                expression { env.CHANGE_ID != null } // Pull request
+            }
+            steps {
+                sh 'mvn -B -V clean verify -Prun-its -Pci'
+            }
+        }
+        stage('Deploy') {
+            when { branch 'master' }
+            steps {
+                echo "Deploy"
+                sh 'mvn help:effective-settings -B -V clean deploy -e'
+            }
+        }
+    }
+}
diff --git a/codestyles/CommonJava.xml b/codestyles/CommonJava.xml
index c425192..99a0fa6 100644
--- a/codestyles/CommonJava.xml
+++ b/codestyles/CommonJava.xml
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (C) 2012 John Casey (jdcasey@commonjava.org)
+    Copyright (C) 2011-2022 Red Hat, Inc. (http://github.com/Commonjava/commonjava)
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
diff --git a/pmd-ruleset.xml b/pmd-ruleset.xml
index 9a01f8c..3ada49a 100644
--- a/pmd-ruleset.xml
+++ b/pmd-ruleset.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!--
 
-    Copyright (C) 2012 John Casey (jdcasey@commonjava.org)
+    Copyright (C) 2011-2022 Red Hat, Inc. (http://github.com/Commonjava/commonjava)
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -16,7 +16,6 @@
     limitations under the License.
 
 -->
-
 <ruleset name="Custom ruleset" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
diff --git a/pom.xml b/pom.xml
index 39e04ff..289395e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (C) 2012 John Casey (jdcasey@commonjava.org)
+    Copyright (C) 2011-2022 Red Hat, Inc. (http://github.com/Commonjava/commonjava)
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
 
   <groupId>org.commonjava</groupId>
   <artifactId>commonjava</artifactId>
-  <version>14-SNAPSHOT</version>
+  <version>21-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>CommonJava Top-Level Parent POM</name>
@@ -28,7 +28,7 @@
   <url>https://github.com/Commonjava/commonjava</url>
 
   <description>CommonJava top-level parent POM.</description>
-  <inceptionYear>2012</inceptionYear>
+  <inceptionYear>2011-2022</inceptionYear>
 
   <licenses>
     <license>
@@ -40,44 +40,45 @@
 
   <developers>
     <developer>
-      <id>jdcasey</id>
-      <email>jdcasey@commonjava.org</email>
-      <name>John Casey</name>
+      <id>Red Hat, Inc.</id>
+      <name>Red Hat, Inc.</name>
+      <organization>Red Hat, Inc.</organization>
     </developer>
   </developers>
 
   <scm>
     <connection>scm:git:https://github.com/Commonjava/commonjava.git</connection>
-    <developerConnection>scm:git:git@github.com:Commonjava/commonjava.git</developerConnection>
+    <developerConnection>scm:git:https://github.com/Commonjava/commonjava.git</developerConnection>
     <url>http://github.com/Commonjava/commonjava</url>
     <tag>HEAD</tag>
   </scm>
 
   <properties>
-    <javaVersion>1.7</javaVersion>
+    <javaVersion>11</javaVersion>
     <javaTestVersion>${javaVersion}</javaTestVersion>
-    <projectOwner>John Casey</projectOwner>
-    <projectEmail>jdcasey@commonjava.org</projectEmail>
+    <projectOwner>Red Hat, Inc.</projectOwner>
+    <projectEmail>http://github.com/Commonjava/commonjava</projectEmail>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <version.plugin.compiler>3.1</version.plugin.compiler>
-    <version.plugin.plugin>3.2</version.plugin.plugin>
+    <version.plugin.compiler>3.11.0</version.plugin.compiler>
+    <version.plugin.plugin>3.10.2</version.plugin.plugin>
     <version.plugin.plexus-component-metadata>1.6</version.plugin.plexus-component-metadata>
-    <version.plugin.release>2.5</version.plugin.release>
-    <version.plugin.enforcer>1.4</version.plugin.enforcer>
-    <version.plugin.assembly>2.3</version.plugin.assembly>
-    <version.plugin.jar>2.4</version.plugin.jar>
-    <version.plugin.source>2.1.2</version.plugin.source>
-    <version.plugin.javadoc>2.8.1</version.plugin.javadoc>
-    <version.plugin.gpg>1.1</version.plugin.gpg>
-    <version.plugin.surefire>2.18.1</version.plugin.surefire>
-    <version.plugin.failsafe>2.18.1</version.plugin.failsafe>
-    <version.plugin.clean>2.5</version.plugin.clean>
-    <version.plugin.deploy>2.7</version.plugin.deploy>
-    <version.plugin.install>2.4</version.plugin.install>
-    <version.plugin.resources>2.6</version.plugin.resources>
-    <version.plugin.site>3.3</version.plugin.site>
-    <version.plugin.pmd>3.6</version.plugin.pmd>
-    <version.plugin.jacoco>0.7.5.201505241946</version.plugin.jacoco>
+    <version.plugin.release>3.1.1</version.plugin.release>
+    <version.plugin.enforcer>3.4.1</version.plugin.enforcer>
+    <version.plugin.assembly>3.6.0</version.plugin.assembly>
+    <version.plugin.jar>3.3.0</version.plugin.jar>
+    <version.plugin.source>3.3.0</version.plugin.source>
+    <version.plugin.javadoc>3.6.3</version.plugin.javadoc>
+    <version.plugin.gpg>3.1.0</version.plugin.gpg>
+    <version.plugin.surefire>3.2.2</version.plugin.surefire>
+    <version.plugin.failsafe>3.2.2</version.plugin.failsafe>
+    <version.plugin.clean>3.3.2</version.plugin.clean>
+    <version.plugin.deploy>3.1.1</version.plugin.deploy>
+    <version.plugin.sonatype>0.7.0</version.plugin.sonatype>
+    <version.plugin.install>3.1.1</version.plugin.install>
+    <version.plugin.resources>3.3.1</version.plugin.resources>
+    <version.plugin.site>3.9.1</version.plugin.site>
+    <version.plugin.pmd>3.21.2</version.plugin.pmd>
+    <version.plugin.jacoco>0.8.9</version.plugin.jacoco>
 
     <plugin.jacoco.skip>true</plugin.jacoco.skip>
 
@@ -85,7 +86,7 @@
     <enforceManagedDeps>true</enforceManagedDeps>
 
     <unEnforcedPlugins>org.eclipse.m2e:lifecycle-mapping</unEnforcedPlugins>
-    <enforcedMavenVersion>(,2.1.0),(2.1.0,2.2.0),(2.2.0,)</enforcedMavenVersion>
+    <enforcedMavenVersion>(3.0.0,)</enforcedMavenVersion>
     <enforcedJavaVersion>${javaVersion}</enforcedJavaVersion>
 
     <enforceBestPractices>true</enforceBestPractices>
@@ -179,9 +180,18 @@
           <version>${version.plugin.release}</version>
           <configuration>
             <autoVersionSubmodules>true</autoVersionSubmodules>
-            <mavenExecutorId>forked-path</mavenExecutorId>
             <useReleaseProfile>false</useReleaseProfile>
-            <arguments>-Prelease</arguments>
+            <releaseProfiles>release</releaseProfiles>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.sonatype.central</groupId>
+          <artifactId>central-publishing-maven-plugin</artifactId>
+          <version>${version.plugin.sonatype}</version>
+          <extensions>true</extensions>
+          <configuration>
+            <publishingServerId>central</publishingServerId>
+            <autoPublish>true</autoPublish>
           </configuration>
         </plugin>
         <plugin>
@@ -197,7 +207,10 @@
               <configuration>
                 <fail>${enforceBestPractices}</fail>
                 <rules>
-                  <requireNoRepositories />
+                  <requireNoRepositories>
+                    <allowedRepositories>sonatype-snapshots</allowedRepositories>
+                    <allowSnapshotRepositories>true</allowSnapshotRepositories>
+                  </requireNoRepositories>
                   <requirePluginVersions>
                     <banLatest />
                     <banRelease />
@@ -307,6 +320,10 @@
               </goals>
               <configuration>
                 <detectOfflineLinks>false</detectOfflineLinks>
+                <additionalparam>-Xdoclint:none</additionalparam>
+                <additionalOptions>-Xdoclint:none</additionalOptions>
+                <additionalJOption>-Xdoclint:none</additionalJOption>
+                <doclint>none</doclint>
               </configuration>
             </execution>
           </executions>
@@ -401,6 +418,10 @@
         <groupId>org.jacoco</groupId>
         <artifactId>jacoco-maven-plugin</artifactId>
       </plugin>
+      <plugin>
+        <groupId>org.sonatype.central</groupId>
+        <artifactId>central-publishing-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </build>
 
@@ -486,17 +507,13 @@
     </profile>
   </profiles>
 
-  <distributionManagement>
+  <repositories>
     <repository>
-      <id>sonatype-nexus-staging</id>
-      <name>Release Repository</name>
-      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+      <id>sonatype-snapshots</id>
+      <url>https://central.sonatype.com/repository/maven-snapshots/</url>
+      <releases><enabled>false</enabled></releases>
+      <snapshots><enabled>true</enabled></snapshots>
     </repository>
-    <snapshotRepository>
-      <id>sonatype-nexus-snapshots</id>
-      <name>Sonatype Nexus</name>
-      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
-    </snapshotRepository>
-  </distributionManagement>
+  </repositories>
 
 </project>
diff --git a/travis-settings.xml b/travis-settings.xml
index 30ae950..ac46c68 100644
--- a/travis-settings.xml
+++ b/travis-settings.xml
@@ -1,6 +1,6 @@
 <!--
 
-    Copyright (C) 2012 John Casey (jdcasey@commonjava.org)
+    Copyright (C) 2011-2022 Red Hat, Inc. (http://github.com/Commonjava/commonjava)
 
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
