diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5ba68ab05a7fa9a34066b2f491d7cd3e2f1980f4..e321be9d0405ecff1dd254c228ae690219b02bbe 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -240,6 +240,10 @@ before_script:
 # stage: deploy-part1
   MOVED_TO_GROUP_VARS: "true"
 
+.ubuntu18_flannel_aio_variables: &ubuntu18_flannel_aio_variables
+# stage: deploy-part1
+  MOVED_TO_GROUP_VARS: "true"
+
 .ubuntu_canal_ha_variables: &ubuntu_canal_ha_variables
 # stage: deploy-part1
   UPGRADE_TEST: "graceful"
@@ -263,7 +267,7 @@ before_script:
 .ubuntu_cilium_sep_variables: &ubuntu_cilium_sep_variables
 # stage: deploy-special
   MOVED_TO_GROUP_VARS: "true"
-  
+
 .rhel7_weave_variables: &rhel7_weave_variables
 # stage: deploy-part1
   MOVED_TO_GROUP_VARS: "true"
@@ -330,6 +334,17 @@ gce_coreos-calico-aio:
   except: ['triggers']
   only: [/^pr-.*$/]
 
+gce_ubuntu18-flannel-aio:
+  stage: deploy-part1
+  <<: *job
+  <<: *gce
+  variables:
+    <<: *ubuntu18_flannel_aio_variables
+    <<: *gce_variables
+  when: on_success
+  except: ['triggers']
+  only: [/^pr-.*$/]
+
 ### PR JOBS PART2
 gce_centos7-flannel-addons:
   stage: deploy-part2
diff --git a/tests/files/gce_ubuntu18-flannel-aio.yml b/tests/files/gce_ubuntu18-flannel-aio.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d9b552f06e59000a2261e90accef8a914bd19500
--- /dev/null
+++ b/tests/files/gce_ubuntu18-flannel-aio.yml
@@ -0,0 +1,14 @@
+# Instance settings
+cloud_image_family: ubuntu-1804-lts
+cloud_region: us-central1-a
+cloud_machine_type: "n1-standard-2"
+mode: aio
+
+# Deployment settings
+
+bootstrap_os: ubuntu
+kube_network_plugin: flannel
+
+deploy_netchecker: true
+kubedns_min_replicas: 1
+cloud_provider: gce