diff --git a/.gitignore b/.gitignore
index 6f52bf1..7b6772c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
 .DS_Store
 .site-content
 out
+*.iml
diff --git a/Jenkinsfile b/Jenkinsfile
index 0d3035f..567e27c 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -16,43 +16,5 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-/**
- *
- *
- * Jenkins Pipeline configuration.
- *
- */
 
-def labels = 'ubuntu'
-def buildJdk = 'JDK 1.8 (latest)'
-def buildMvn = 'Maven 3.5.2'
-def deploySettings = 'DefaultMavenSettingsProvider.1331204114925'
-
-node(labels) {
-
-    cleanWs()
-
-    stage ('Clone Sources') {
-        checkout scm
-    }
-
-    stage ('Build') {
-        withMaven(
-                maven: buildMvn,
-                jdk: buildJdk,
-                mavenSettingsConfig: deploySettings
-        ) {
-            sh "mvn clean install -B -U -e -fae -Dmaven.compiler.fork=false"
-        } 
-    }
-
-    stage ('Deploy') {
-        withMaven(
-                maven: buildMvn,
-                jdk: buildJdk,
-                mavenSettingsConfig: deploySettings
-        ) {
-            sh "mvn deploy -Dmaven.test.skip=true -B -U -e -fae -Dmaven.compiler.fork=false"
-        }
-    }
-}
+asfStandardBuild cmdline:"clean deploy"
