33@Library (' apm@current' ) _
44
55pipeline {
6- agent { label ' ubuntu-18 && immutable' }
6+ agent { label ' ubuntu-20 && immutable' }
77 environment {
88 REPO = " elastic-package"
99
@@ -22,21 +22,6 @@ pipeline {
2222 JOB_GCS_EXT_CREDENTIALS = ' beats-ci-gcs-plugin-file-credentials'
2323 ELASTIC_PACKAGE_GCP_SECRET = ' secret/observability-team/ci/service-account/elastic-package-gcp'
2424 ELASTIC_OBSERVABILITY_PROJECT_ID = ' elastic-observability'
25-
26- JOB_SIGNING_CREDENTIALS = ' sign-artifacts-with-gpg-job'
27- INTERNAL_CI_JOB_GCS_CREDENTIALS = ' internal-ci-gcs-plugin'
28-
29- REPO_BUILD_TAG = " ${ env.REPO} /${ env.BUILD_TAG} "
30- INFRA_SIGNING_BUCKET_NAME = ' internal-ci-artifacts'
31- INFRA_SIGNING_BUCKET_SIGNED_ARTIFACTS_SUBFOLDER = " ${ env.REPO_BUILD_TAG} /signed-artifacts"
32- INFRA_SIGNING_BUCKET_ARTIFACTS_PATH = " gs://${ env.INFRA_SIGNING_BUCKET_NAME} /${ env.REPO_BUILD_TAG} "
33- INFRA_SIGNING_BUCKET_SIGNED_ARTIFACTS_PATH = " gs://${ env.INFRA_SIGNING_BUCKET_NAME} /${ env.INFRA_SIGNING_BUCKET_SIGNED_ARTIFACTS_SUBFOLDER} "
34-
35- INTEGRATIONS_SIGNATURES_PATH = ' build/integrations-elastic-signatures' // different path not to override signatures archived in the "build-zip" step
36-
37- PACKAGE_STORAGE_UPLOADER_CREDENTIALS = ' upload-package-to-package-storage'
38- PACKAGE_STORAGE_UPLOADER_GCP_SERVICE_ACCOUNT = ' secret/gce/elastic-bekitzur/service-account/package-storage-uploader'
39- PACKAGE_STORAGE_INTERNAL_BUCKET_QUEUE_PUBLISHING_PATH = " gs://elastic-bekitzur-package-storage-internal/queue-publishing/${ env.REPO_BUILD_TAG} "
4025 }
4126 options {
4227 timeout(time : 1 , unit : ' HOURS' )
@@ -117,8 +102,7 @@ pipeline {
117102 ' check-packages-with-kind' : generateTestCommandStage(command : ' test-check-packages-with-kind' , artifacts : [' build/test-results/*.xml' , ' build/kubectl-dump.txt' , ' build/elastic-stack-dump/check-*/logs/*.log' , ' build/elastic-stack-dump/check-*/logs/fleet-server-internal/*' ], junitArtifacts : true , publishCoverage : true ),
118103 ' check-packages-other' : generateTestCommandStage(command : ' test-check-packages-other' , artifacts : [' build/test-results/*.xml' , ' build/elastic-stack-dump/check-*/logs/*.log' , ' build/elastic-stack-dump/check-*/logs/fleet-server-internal/*' ], junitArtifacts : true , publishCoverage : true ),
119104 ' build-zip' : generateTestCommandStage(command : ' test-build-zip' , artifacts : [' build/elastic-stack-dump/build-zip/logs/*.log' , ' build/integrations/*.sig' ]),
120- ' profiles-command' : generateTestCommandStage(command : ' test-profiles-command' ),
121- ' publish-to-package-storage' : generateTestPublishToPackageStorageStage()
105+ ' profiles-command' : generateTestCommandStage(command : ' test-profiles-command' )
122106 ]
123107
124108 def checkSinglePackageTasks = generateTestCheckSinglePackageStage()
@@ -163,66 +147,6 @@ def cleanup(){
163147 unstash ' source'
164148}
165149
166- def generateTestPublishToPackageStorageStage () {
167- return {
168- withNode(labels : " ubuntu-20 && immutable" , sleepMax : 20 , forceWorkspace : true ) {
169- cleanup()
170- dir(" ${ BASE_DIR} " ){
171- withMageEnv(){
172- sh(label : ' Install elastic-package' ,script : " make install" )
173- dir(" test/packages/package-storage/package_storage_candidate" ) {
174- sh(label : ' Lint package' ,script : " elastic-package lint" )
175- sh(label : ' Build zipped package' ,script : " elastic-package build --zip" )
176- }
177- signArtifactsWithElastic(' build/integrations' , env. INTEGRATIONS_SIGNATURES_PATH )
178-
179- // Add the package candidate to the "queue-publishing"
180- withGCPEnv(secret : env. PACKAGE_STORAGE_UPLOADER_GCP_SERVICE_ACCOUNT ) {
181- sh(label : ' Upload package .zip file' , script : " gsutil cp ${ env.INTEGRATIONS_SIGNATURES_PATH} /package_storage_candidate-0.0.1.zip ${ env.PACKAGE_STORAGE_INTERNAL_BUCKET_QUEUE_PUBLISHING_PATH} /" )
182- sh(label : ' Upload package .sig file' , script : " gsutil cp ${ env.INTEGRATIONS_SIGNATURES_PATH} /package_storage_candidate-0.0.1.zip.sig ${ env.PACKAGE_STORAGE_INTERNAL_BUCKET_QUEUE_PUBLISHING_PATH} /" )
183- }
184-
185- // Call the publishing job
186- withCredentials([string(credentialsId : env. PACKAGE_STORAGE_UPLOADER_CREDENTIALS , variable : ' TOKEN' )]) {
187- triggerRemoteJob(auth : CredentialsAuth (credentials : ' local-readonly-api-token' ),
188- job : ' https://internal-ci.elastic.co/job/package_storage/job/publishing-job-remote' ,
189- token : TOKEN ,
190- parameters : """
191- dry_run=true
192- gs_package_build_zip_path=${ env.PACKAGE_STORAGE_INTERNAL_BUCKET_QUEUE_PUBLISHING_PATH} /package_storage_candidate-0.0.1.zip
193- gs_package_signature_path=${ env.PACKAGE_STORAGE_INTERNAL_BUCKET_QUEUE_PUBLISHING_PATH} /package_storage_candidate-0.0.1.zip.sig
194- """ ,
195- useCrumbCache : false ,
196- useJobInfoCache : false )
197- }
198- }
199- }
200- }
201- }
202- }
203-
204- def signArtifactsWithElastic (artifactsSourcePath , signaturesDestinationPath ) {
205- googleStorageUpload(bucket : env. INFRA_SIGNING_BUCKET_ARTIFACTS_PATH ,
206- credentialsId : env. INTERNAL_CI_JOB_GCS_CREDENTIALS ,
207- pathPrefix : artifactsSourcePath + ' /' ,
208- pattern : artifactsSourcePath + ' /*.zip' ,
209- sharedPublicly : false ,
210- showInline : true )
211- withCredentials([string(credentialsId : env. JOB_SIGNING_CREDENTIALS , variable : ' TOKEN' )]) {
212- triggerRemoteJob(auth : CredentialsAuth (credentials : ' local-readonly-api-token' ),
213- job : ' https://internal-ci.elastic.co/job/elastic+unified-release+master+sign-artifacts-with-gpg' ,
214- token : TOKEN ,
215- parameters : " gcs_input_path=${ env.INFRA_SIGNING_BUCKET_ARTIFACTS_PATH} " ,
216- useCrumbCache : false ,
217- useJobInfoCache : false )
218- }
219- googleStorageDownload(bucketUri : " ${ env.INFRA_SIGNING_BUCKET_SIGNED_ARTIFACTS_PATH} /*" ,
220- credentialsId : env. INTERNAL_CI_JOB_GCS_CREDENTIALS ,
221- localDirectory : signaturesDestinationPath + ' /' ,
222- pathPrefix : " ${ env.INFRA_SIGNING_BUCKET_SIGNED_ARTIFACTS_SUBFOLDER} " )
223- sh(label : ' Rename .asc to .sig' , script : ' for f in ' + signaturesDestinationPath + ' /*.asc; do mv "$f" "${f%.asc}.sig"; done' )
224- }
225-
226150def generateTestCheckSinglePackageStage (Map args = [:]) {
227151 def artifacts = [' build/test-results/*.xml' , ' build/elastic-stack-dump/check-*/logs/*.log' , ' build/elastic-stack-dump/check-*/logs/fleet-server-internal/*' ]
228152
0 commit comments