diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..11bbb06
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,150 @@
+pipeline {
+	options {
+		timeout(time: 90, unit: 'MINUTES')
+		buildDiscarder(logRotator(numToKeepStr:'5'))
+	}
+  agent {
+    kubernetes {
+      label 'swtbuild-pod'
+      defaultContainer 'container'
+      yaml """
+apiVersion: v1
+kind: Pod
+spec:
+  containers:
+  - name: jnlp
+    resources:
+      requests:
+        memory: "512Mi"
+        cpu: "100m"
+      limits:
+        memory: "512Mi"
+        cpu: "500m"  
+  - name: container
+    image: akurtakov/swtbuild@sha256:2cd3dfdea1f250597c9e3797512953c03e2182344e86976c1b60117c5dd36a9e
+    tty: true
+    command: [ "uid_entrypoint", "cat" ]
+    resources:
+      requests:
+        memory: "4Gi"
+        cpu: "1"
+      limits:
+        memory: "4Gi"
+        cpu: "1"
+    volumeMounts:
+    - name: "settings-xml"
+      mountPath: "/home/jenkins/.m2/settings.xml"
+      subPath: "settings.xml"
+      readOnly: true
+    - name: "toolchains-xml"
+      mountPath: "/home/jenkins/.m2/toolchains.xml"
+      subPath: "toolchains.xml"
+      readOnly: true
+    - name: "settings-security-xml"
+      mountPath: "/home/jenkins/.m2/settings-security.xml"
+      subPath: "settings-security.xml"
+      readOnly: true
+    - name: m2-repo
+      mountPath: /home/jenkins/.m2/repository
+    - name: "tools"
+      mountPath: "/opt/tools"
+  volumes:
+  - name: settings-xml
+    secret:
+      secretName: m2-secret-dir
+      items:
+      - key: settings.xml
+        path: settings.xml
+  - name: toolchains-xml
+    configMap:
+      name: m2-dir
+      items:
+      - key: toolchains.xml
+        path: toolchains.xml
+  - name: settings-security-xml
+    secret:
+      secretName: m2-secret-dir
+      items:
+      - key: settings-security.xml
+        path: settings-security.xml
+  - name: m2-repo
+    emptyDir: {}
+  - name: tools
+    persistentVolumeClaim:
+      claimName: tools-claim-jiro-platform
+"""
+    }
+  }
+  environment {
+        MAVEN_OPTS = "-Xmx4G"
+  }
+	stages {
+		stage('Prepare-environment') {
+			steps {
+				container('container') {
+					sh 'mutter --replace --sm-disable &'
+					dir ('eclipse.platform.swt') {
+                        checkout([$class: 'GitSCM', branches: [[name: 'FETCH_HEAD']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CloneOption', timeout: 120]], submoduleCfg: [], userRemoteConfigs: [[refspec: '${GERRIT_REFSPEC}', url: 'https://git.eclipse.org/r/platform/eclipse.platform.swt.git']]])
+					}
+					dir ('eclipse.platform.swt.binaries') {
+					    checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'CloneOption', timeout: 120]], submoduleCfg: [], userRemoteConfigs: [[url: 'https://git.eclipse.org/r/platform/eclipse.platform.swt.binaries.git']]])
+					}
+				}
+			}
+		}
+		stage('Build') {
+			steps {
+				container('container') {
+					wrap([$class: 'Xvnc', useXauthority: true]) {
+					    withEnv(["JAVA_HOME=${ tool 'openjdk-jdk11-latest' }"]) {
+					        dir ('eclipse.platform.swt.binaries') {
+					    	    sh '/opt/tools/apache-maven/latest/bin/mvn --batch-mode -Pbuild-individual-bundles -DforceContextQualifier=zzz -Dnative=gtk.linux.x86_64 -DskipJni -DskipRust -Dcompare-version-with-baselines.skip=true -Dmaven.compiler.failOnWarning=true install '
+					        }
+					        dir ('eclipse.platform.swt') {
+					    	    sh '/opt/tools/apache-maven/latest/bin/mvn --batch-mode -Pbuild-individual-bundles -DcheckAllWS=true -DforkCount=0 -Dcompare-version-with-baselines.skip=false -Dmaven.compiler.failOnWarning=true clean verify '
+					        }
+					    }
+				    }
+				}
+			}
+			post {
+				always {
+					junit '**/*.test*/target/surefire-reports/*.xml'
+					archiveArtifacts artifacts: '**/*.log,**/*.html,**/target/*.jar,**/target/*.zip'
+					publishIssues issues:[scanForIssues(tool: java()), scanForIssues(tool: mavenConsole())]
+				}
+				unstable {
+					gerritReview labels: [Verified: -1], message: "Build UNSTABLE (test failures) $BUILD_URL"
+				}
+				failure {
+					gerritReview labels: [Verified: -1], message: "Build FAILED $BUILD_URL"
+				}
+			}
+		}
+		stage('Check freeze period') {
+			when {
+				not {
+					branch 'master'
+				}
+			}
+			steps {
+				sh "wget https://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/plain/scripts/verifyFreezePeriod.sh"
+				sh "chmod +x verifyFreezePeriod.sh"
+				withCredentials([string(credentialsId: 'google-api-key', variable: 'GOOGLE_API_KEY')]) {
+					sh './verifyFreezePeriod.sh'
+				}
+			}
+			post {
+				failure {
+					gerritReview labels: [Verified: -1], message: "Build and test are OK, but Eclipse project is currently in a code freeze period.\nPlease wait for end of code freeze period before merging.\n $BUILD_URL"
+				}
+			}
+		}
+	}
+	post {
+		success {
+			gerritReview labels: [Verified: 1], message: "Build Succcess $BUILD_URL"
+		}
+	}
+	}
+}
\ No newline at end of file
