diff --git a/cicd/jobs/task_updatepackages.jenkins b/cicd/jobs/task_updatepackages.jenkins
new file mode 100644
index 0000000..696bde7
--- /dev/null
+++ b/cicd/jobs/task_updatepackages.jenkins
@@ -0,0 +1,19 @@
+#!/usr/bin/env groovy
+
+pipelineJob("task.updatepackages") {
+    description("Update apt packages repository")
+
+    definition {
+        cpsScm {
+            scm {
+                git {
+                    remote {
+                        url('https://coral.googlesource.com/gke-jenkins')
+                    }
+                    branches('*/master')
+                }
+            }
+            scriptPath("cicd/pipelines/tasks/task_updatepackages.jenkins")
+        }
+    }
+}
diff --git a/cicd/pipelines/tasks/task_updatepackages.jenkins b/cicd/pipelines/tasks/task_updatepackages.jenkins
new file mode 100644
index 0000000..0620abe
--- /dev/null
+++ b/cicd/pipelines/tasks/task_updatepackages.jenkins
@@ -0,0 +1,73 @@
+#!/usr/bin/env groovy
+
+library 'functions'
+
+def packageBuildNames = [
+    'mendel-minimal',
+    'base-files',
+    'edgetpuvision',
+    'edgetpudemo',
+    'mdt-services',
+    'mendel-distro-info-data',
+    'mendel-keyring',
+    'runonce',
+    'usb-gadget',
+    'vitalsd',
+    'meta-mendel'
+]
+
+def label = "build-jenkins-operator-${UUID.randomUUID().toString()}"
+def home = "/home/jenkins"
+def workspace = "${home}/workspace/build-pbuilder-cross"
+def workdir = "${workspace}/src"
+
+podTemplate(label: label,
+        containers: [
+                containerTemplate(name: 'jnlp', image: 'jenkins/jnlp-slave:alpine'),
+                containerTemplate(name: 'debian', image: 'debian:buster-slim', command: 'cat', ttyEnabled: true, privileged: true),
+        ],
+        envVars: [
+        ],
+        ) {
+
+    node(label) {
+        dir(workdir) {
+            stage('Init') {
+                container('debian') {
+                    packageBuildNames.each {
+                        copyArtifacts(projectName: it, filter: '**/*', flatten: true, selector: lastSuccessful())
+                    }
+
+                    sh """
+                       echo "deb http://packages.cloud.google.com/apt buster main" | sudo tee /etc/apt/sources.list.d/gcsfuse.list
+                       curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
+                       apt-get update
+                       apt-get -y install apt-utils gcsfuse
+                       """
+                }
+            }
+
+            stage('Build') {
+                container('debian') {
+                    sh """
+                       mkdir archive/pool
+                       cp out/target/product/*/packages/*/* archive/pool
+                       cd archive
+                       apt-ftparchive -o APT::FTPArchive::SHA512=false pool > Packages
+                       """
+                }
+            }
+
+            stage('Deploy') {
+                container('debian') {
+                    googleStorageUpload
+                        bucket: 'gs://mendel-linux-apt/',
+                        credentialsId: 'mendel-linux-cloud-infra',
+                        pattern: 'archive/**',
+                        pathPrefix: 'archive/'
+                        sharedPublicly: true
+                }
+            }
+        }
+    }
+}
