diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0b16bd614d78a376a1333c838df0389915485f72..964d61066239dcbf45fc14fd3dfd314932bae8aa 100755
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,6 +26,7 @@ before_script:
   - phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs,$HOME/.composer/vendor/automattic/vipwpcs,$HOME/.composer/vendor/phpcompatibility/php-compatibility,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-paragonie,$HOME/.composer/vendor/phpcompatibility/phpcompatibility-wp
 
 PHPunit:PHP7.2:MySQL:
+  stage: test
   image: containers.ethitter.com:443/docker/images/php:7.2
   services:
     - mysql:5.6
@@ -33,3 +34,10 @@ PHPunit:PHP7.2:MySQL:
     - find . -type "f" -iname "*.php" | xargs -L "1" php -l
     - phpcs -n
     - phpunit
+
+PluginSVN:
+  stage: deploy
+  script: ./bin/deploy.sh
+  when: on_success
+#  only:
+#    - master
diff --git a/bin/deploy.sh b/bin/deploy.sh
new file mode 100755
index 0000000000000000000000000000000000000000..df57b7931c52d2f6e44a806f28ff0f7f1f4acba8
--- /dev/null
+++ b/bin/deploy.sh
@@ -0,0 +1,103 @@
+#!/usr/bin/env bash
+
+echo "Unfinished" 1>&2
+exit 1
+
+if [[ -z "$CI" ]]; then
+	echo "Script is only to be run by GitLab CI" 1>&2
+	exit 1
+fi
+
+if [[ -z "$WP_ORG_PASSWORD" ]]; then
+	echo "WordPress.org password not set" 1>&2
+	exit 1
+fi
+
+if [[ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" || "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "master" ]]; then
+	echo "Build branch is required and must be 'master'" 1>&2
+	exit 0
+fi
+
+WP_ORG_USERNAME="ethitter"
+PLUGIN="view-all-posts-pages"
+PROJECT_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
+PLUGIN_BUILDS_PATH="$PROJECT_ROOT/builds"
+#PLUGIN_BUILD_CONFIG_PATH="$PROJECT_ROOT/build-cfg"
+#VERSION=$(/usr/bin/php -f "$PLUGIN_BUILD_CONFIG_PATH/utils/get_plugin_version.php" "$PROJECT_ROOT" "$PLUGIN")
+VERSION=grep -o "(^|\s|\*)+Version:\s+([0-9]|\.)*(?=\s|$)" "$PROJECT_ROOT/$PLUGIN/$PLUGIN.php"
+#ZIP_FILE="$PLUGIN_BUILDS_PATH/$PLUGIN-$VERSION.zip"
+
+# Ensure the zip file for the current version has been built
+#if [ ! -f "$ZIP_FILE" ]; then
+#    echo "Built zip file $ZIP_FILE does not exist" 1>&2
+#    exit 1
+#fi
+
+# Check if the tag exists for the version we are building
+TAG=$(svn ls "https://plugins.svn.wordpress.org/$PLUGIN/tags/$VERSION")
+error=$?
+if [ $error == 0 ]; then
+    # Tag exists, don't deploy
+    echo "Tag already exists for version $VERSION, aborting deployment"
+    exit 1
+fi
+
+cd "$PLUGIN_BUILDS_PATH"
+# Remove any unzipped dir so we start from scratch
+rm -fR "$PLUGIN"
+# Unzip the built plugin
+#unzip -q -o "$ZIP_FILE"
+
+# Clean up any previous svn dir
+rm -fR svn
+
+# Checkout the SVN repo
+svn co -q "http://svn.wp-plugins.org/$PLUGIN" svn
+
+# Move out the trunk directory to a temp location
+mv svn/trunk ./svn-trunk
+# Create trunk directory
+mkdir svn/trunk
+# Copy our new version of the plugin into trunk
+rsync -r -p $PLUGIN/* svn/trunk
+
+# Copy all the .svn folders from the checked out copy of trunk to the new trunk.
+# This is necessary as the Travis container runs Subversion 1.6 which has .svn dirs in every sub dir
+cd svn/trunk/
+TARGET=$(pwd)
+cd ../../svn-trunk/
+
+# Find all .svn dirs in sub dirs
+SVN_DIRS=`find . -type d -iname .svn`
+
+for SVN_DIR in $SVN_DIRS; do
+    SOURCE_DIR=${SVN_DIR/.}
+    TARGET_DIR=$TARGET${SOURCE_DIR/.svn}
+    TARGET_SVN_DIR=$TARGET${SVN_DIR/.}
+    if [ -d "$TARGET_DIR" ]; then
+        # Copy the .svn directory to trunk dir
+        cp -r $SVN_DIR $TARGET_SVN_DIR
+    fi
+done
+
+# Back to builds dir
+cd ../
+
+# Remove checked out dir
+rm -fR svn-trunk
+
+# Add new version tag
+#mkdir svn/tags/$VERSION
+#rsync -r -p $PLUGIN/* svn/tags/$VERSION
+
+# Add new files to SVN
+svn stat svn | grep '^?' | awk '{print $2}' | xargs -I x svn add x@
+# Remove deleted files from SVN
+svn stat svn | grep '^!' | awk '{print $2}' | xargs -I x svn rm --force x@
+svn stat svn
+
+# Commit to SVN
+#svn ci --no-auth-cache --username $WP_ORG_USERNAME --password $WP_ORG_PASSWORD svn -m "Deploy version $VERSION"
+
+# Remove SVN temp dir
+rm -fR svn