Skip to content
Merged
53 changes: 48 additions & 5 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ pipeline {
DOCKER_REGISTRY = 'docker.elastic.co'
AWS_ACCOUNT_SECRET = 'secret/observability-team/ci/elastic-observability-aws-account-auth'
RUNBLD_DISABLE_NOTIFICATIONS = 'true'
JOB_GCS_BUCKET = 'beats-ci-temp'
JOB_GCS_CREDENTIALS = 'beats-ci-gcs-plugin'
}
options {
timeout(time: 2, unit: 'HOURS')
Expand Down Expand Up @@ -57,7 +59,7 @@ pipeline {
pipelineManager([ cancelPreviousRunningBuilds: [ when: 'PR' ] ])
deleteDir()
gitCheckout(basedir: "${BASE_DIR}", githubNotifyFirstTimeContributor: true)
stash allowEmpty: true, name: 'source', useDefaultExcludes: false
stashV2('source')
dir("${BASE_DIR}"){
loadConfigEnvVars()
}
Expand Down Expand Up @@ -722,7 +724,7 @@ def withBeatsEnv(boolean archive, Closure body) {
"DOCKER_PULL=0",
]) {
deleteDir()
unstash 'source'
unstashV2('source')
if(isDockerInstalled()){
dockerLogin(secret: "${DOCKERELASTIC_SECRET}", registry: "${DOCKER_REGISTRY}")
}
Expand Down Expand Up @@ -763,7 +765,7 @@ def withBeatsEnvWin(Closure body) {
"RACE_DETECTOR=true",
]){
deleteDir()
unstash 'source'
unstashV2('source')
dir("${env.BASE_DIR}"){
installTools()
try {
Expand Down Expand Up @@ -1027,7 +1029,7 @@ def terraformCleanup(String stashName, String directory) {
stage("Remove cloud scenarios in ${directory}"){
withCloudTestEnv() {
withBeatsEnv(false) {
unstash "terraform-${stashName}"
unstash("terraform-${stashName}")
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cosmetic change

retry(2) {
sh(label: "Terraform Cleanup", script: ".ci/scripts/terraform-cleanup.sh ${directory}")
}
Expand Down Expand Up @@ -1176,7 +1178,7 @@ def runbld() {
// Unstash the test reports
stashedTestReports.each { k, v ->
dir(k) {
unstash v
unstash(v)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cosmetic change

}
}
sh(label: 'Process JUnit reports with runbld',
Expand All @@ -1190,3 +1192,44 @@ def runbld() {
}
}
}

def stashV2(String name) {
def filename = "${name}.zip"
writeFile file: "${filename}", text: ''
def command = "tar --exclude=${filename} -czf ${filename} ."
if(isUnix()) {
sh(label: 'Archive', script: command)
} else {
bat(label: 'Archive', script: command)
}
googleStorageUpload(
bucket: "gs://${JOB_GCS_BUCKET}/${JOB_NAME}-${BUILD_NUMBER}/${name}",
credentialsId: "${JOB_GCS_CREDENTIALS}",
pattern: "${filename}",
sharedPublicly: false,
showInline: true
)
if(isUnix()) {
sh(label: 'Delete zip', script: "rm ${filename}", returnStatus: true)
} else {
bat(label: 'Delete zip', script: "del ${filename}", returnStatus: true)
}
}

def unstashV2(String name) {
def filename = "${name}.zip"
def command = "tar -xpf ${filename}"
googleStorageDownload(
bucketUri: "gs://${JOB_GCS_BUCKET}/${JOB_NAME}-${BUILD_NUMBER}/${name}/${filename}",
credentialsId: "${JOB_GCS_CREDENTIALS}",
localDirectory: '',
pathPrefix: "${JOB_NAME}-${BUILD_NUMBER}/${name}/"
)
if(isUnix()) {
command += "; rm ${filename}"
sh(label: 'Extract', script: command)
} else {
bat(label: 'Extract', script: command)
bat(label: 'Delete zip', script: "del ${filename}", returnStatus: true)
}
}