diff --git a/Jenkinsfile b/Jenkinsfile index 8bea9a3..6bc20c8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,6 +4,24 @@ pipeline { } stages { + stage('Login to registries') { + steps { + script { + withCredentials([ + usernamePassword(credentialsId: 'jenkins-artifactory', usernameVariable: 'ARTIFACTORY_USER', passwordVariable: 'ARTIFACTORY_PASS'), + file(credentialsId: 'google-artifactory-dev-write', variable: 'GAR_WR_SECRET') + ]) { + sh '''#!/bin/bash + set -euo pipefail + echo "Logging into Artifactory" + docker login docker.internal.sysdig.com -u="$ARTIFACTORY_USER" -p="$ARTIFACTORY_PASS" + echo "Logging into GAR dev" + cat $GAR_WR_SECRET | docker login --username _json_key --password-stdin us-docker.pkg.dev/sysdig-artifact-registry-dev/gar-docker + ''' + } + } + } + } stage('Build and Push Dependency Image') { steps { checkout([$class: 'GitSCM', @@ -14,11 +32,13 @@ pipeline { userRemoteConfigs: [[credentialsId: 'github-jenkins-user-token', url: 'https://github.com/draios/linux-bench.git']] ]) script { - docker.withRegistry("https://docker.internal.sysdig.com", 'jenkins-artifactory') { - sh "IMAGE_TAG=${params.TAG} PUSH=yes make -f makefile-sysdig build-dependency-image" + docker.withRegistry("https://docker.internal.sysdig.com", 'jenkins-artifactory') { + sh "IMAGE_TAG=${params.TAG} PUSH=yes make -f makefile-sysdig build-dependency-image" + sh "IMAGE_TAG=${params.TAG} PUSH=yes make -f makefile-sysdig build-dependency-image-gar" + } } } } } - } } + diff --git a/makefile-sysdig b/makefile-sysdig index 0b72950..83d0b65 100644 --- a/makefile-sysdig +++ b/makefile-sysdig @@ -1,10 +1,12 @@ # This repo is a fork of a public upstream, so Sysdig specific make commands have been added in a separate makefile ARTIFACTORY := docker.internal.sysdig.com +GAR_DEV_REGISTRY := us-docker.pkg.dev/sysdig-artifact-registry-dev/gar-docker/secure PROJECT := linux-bench IMAGE_REPO := $(PROJECT)-dependency IMAGE_TAG?= dev DEPENDENCY_IMAGE_NAME := $(ARTIFACTORY)/$(IMAGE_REPO):$(IMAGE_TAG) +DEPENDENCY_IMAGE_NAME_GAR := $(GAR_DEV_REGISTRY)/$(IMAGE_REPO):$(IMAGE_TAG) ifndef PUSH PUSH_FLAG := "" @@ -15,4 +17,9 @@ endif build-dependency-image: docker buildx rm -f $(PROJECT)-builder || true docker buildx create --name $(PROJECT)-builder --use - docker buildx build --platform linux/arm64,linux/amd64 $(PUSH_FLAG) --tag $(DEPENDENCY_IMAGE_NAME) . + docker buildx build --platform linux/arm64,linux/amd64 $(PUSH_FLAG) --tag $(DEPENDENCY_IMAGE_NAME) --file Dependency-Dockerfile . + +build-dependency-image-gar: + docker buildx rm -f $(PROJECT)-builder || true + docker buildx create --name $(PROJECT)-builder --use + docker buildx build --platform linux/arm64,linux/amd64 $(PUSH_FLAG) --tag $(DEPENDENCY_IMAGE_NAME_GAR) --file Dependency-Dockerfile .