mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 10:36:30 +00:00
66632a97c1
updated
66 lines
2.7 KiB
Plaintext
66 lines
2.7 KiB
Plaintext
pipeline {
|
||
agent { label 'Win10-BuildMachine' }
|
||
|
||
parameters {
|
||
string(name: 'buildPath', defaultValue: 'C:/Jenkins/workspace/Azaion/suite', description: 'Path where the zip file is located')
|
||
}
|
||
|
||
environment {
|
||
GOOGLE_DRIVE_FOLDER = 'AzaionSuiteBuilds'
|
||
}
|
||
|
||
stages {
|
||
stage('Upload to Google Drive') {
|
||
steps {
|
||
script {
|
||
echo "Looking for ZIP in: ${params.buildPath}"
|
||
echo "Target Google Drive folder: ${env.GOOGLE_DRIVE_FOLDER}"
|
||
dir("${params.buildPath}") {
|
||
def zipFilename = readFile('created_zip.txt').trim()
|
||
|
||
if (!fileExists(zipFilename)) {
|
||
error "Zip file '${zipFilename}' not found in ${params.buildPath}"
|
||
}
|
||
|
||
// Check if file already exists on Google Drive
|
||
def alreadyExists = powershell(script: """
|
||
\$result = rclone ls remote:\"${env.GOOGLE_DRIVE_FOLDER}\" | Select-String "${zipFilename}"
|
||
if (\$result) { return 1 } else { return 0 }
|
||
""", returnStatus: true) == 1
|
||
|
||
if (alreadyExists) {
|
||
echo "Zip file '${zipFilename}' already exists on Google Drive. Skipping upload."
|
||
} else {
|
||
echo "Uploading '${zipFilename}' to Google Drive folder '${env.GOOGLE_DRIVE_FOLDER}'..."
|
||
powershell """
|
||
rclone copy \"${zipFilename}\" remote:\"${env.GOOGLE_DRIVE_FOLDER}\"
|
||
"""
|
||
}
|
||
|
||
// Retention logic – keep only latest 5 ZIPs
|
||
echo "Cleaning up old ZIP files in Google Drive..."
|
||
powershell """
|
||
\$files = rclone lsf --files-only --format "t" --max-age 365d remote:\"${env.GOOGLE_DRIVE_FOLDER}\" | Sort-Object | Where-Object { \$_ -like "*.zip" }
|
||
if (\$files.Count -gt 5) {
|
||
\$filesToDelete = \$files | Select-Object -First (\$files.Count - 5)
|
||
foreach (\$file in \$filesToDelete) {
|
||
rclone delete remote:\"${env.GOOGLE_DRIVE_FOLDER}/\$file\"
|
||
}
|
||
}
|
||
"""
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
post {
|
||
success {
|
||
echo "Upload completed."
|
||
}
|
||
failure {
|
||
echo "Upload failed."
|
||
}
|
||
}
|
||
}
|