diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..47450aa
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,85 @@
+name: CD-CI
+
+on:
+  push:
+    branches: [ main ]
+
+jobs:
+  build:
+    if: github.event_name == 'push' && github.ref == 'refs/heads/main' && github.event.pusher.email != 'version-bump@solenopsis.org'
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Updating runner
+        run: sudo apt-get update
+
+      - name: Setup JDK 17
+        uses: actions/setup-java@v4
+        with:
+          distribution: 'temurin'
+          java-version: '17'
+
+      - name: Checkout
+        uses: actions/checkout@v2
+
+      - name: Preparing settings.xml
+        uses: s4u/maven-settings-action@v3.0.0
+        with:
+          githubServer: false
+          servers: |
+            [
+              {
+                "id": "packagecloud-solenopsis",
+                "configuration": {
+                  "httpHeaders": {
+                    "property": {
+                      "name": "Authorization",
+                      "value": "Bearer ${{ secrets.PACKAGECLOUD_TOKEN }}"
+                    }
+                  }
+                }
+              }
+            ]
+
+      - name: Setup .gitconfig for version bumps
+        uses: oleksiyrudenko/gha-git-credentials@latest
+        with:
+          global: true
+          name: 'Version Bump'
+          email: 'version-bump@solenopsis.org'
+          actor: 'VersionBump'
+          token: '${{ secrets.GITHUB_TOKEN }}'
+
+      - name: Preparing settings.xml
+        uses: s4u/maven-settings-action@v3.0.0
+        with:
+          githubServer: false
+          servers: |
+            [
+              {
+                "id": "packagecloud-solenopsis",
+                "configuration": {
+                  "httpHeaders": {
+                    "property": {
+                      "name": "Authorization",
+                      "value": "Bearer ${{ secrets.PACKAGECLOUD_TOKEN }}"
+                    }
+                  }
+                }
+              }
+            ]
+
+      - name: Incrementing pom.xml version
+        run: "mvn -U build-helper:parse-version versions:set -DnewVersion=\\${parsedVersion.majorVersion}.\\${parsedVersion.nextMinorVersion} versions:commit"
+
+      - name: Ensure latests depenendencies in pom.xml
+        run: "mvn -Dincludes='org.apache.commons:*, org.apache.cxf:*, org.flossware:*, org.junit.jupiter:*' -DgenerateBackupPoms=false versions:update-properties"
+
+      - name: Building
+        run: "mvn -U clean install"
+
+      - name: Deploy to packagecloud.io
+        run: "mvn -DskipTests deploy"
+
+      - name: Checkin and tag to github
+        run: "mvn scm:checkin scm:tag"
\ No newline at end of file