mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 08:36:29 +00:00
pipelines zip and gdrive upload
updated
This commit is contained in:
@@ -17,17 +17,36 @@ pipeline {
|
|||||||
echo "Target Google Drive folder: ${env.GOOGLE_DRIVE_FOLDER}"
|
echo "Target Google Drive folder: ${env.GOOGLE_DRIVE_FOLDER}"
|
||||||
dir("${params.buildPath}") {
|
dir("${params.buildPath}") {
|
||||||
def zipFilename = readFile('created_zip.txt').trim()
|
def zipFilename = readFile('created_zip.txt').trim()
|
||||||
|
|
||||||
if (!fileExists(zipFilename)) {
|
if (!fileExists(zipFilename)) {
|
||||||
error "Zip file '${zipFilename}' not found in ${params.buildPath}"
|
error "Zip file '${zipFilename}' not found in ${params.buildPath}"
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Uploading '${zipFilename}' to Google Drive folder '${env.GOOGLE_DRIVE_FOLDER}'..."
|
// 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
|
||||||
|
|
||||||
// Add actual upload logic here (e.g., gsutil, rclone, or API)
|
if (alreadyExists) {
|
||||||
// Example (placeholder):
|
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 """
|
powershell """
|
||||||
echo Uploading ${zipFilename} to Google Drive...
|
\$files = rclone lsf --files-only --format "t" --max-age 365d remote:\"${env.GOOGLE_DRIVE_FOLDER}\" | Sort-Object | Where-Object { \$_ -like "*.zip" }
|
||||||
rclone copy \"${zipFilename}\" remote:\"${env.GOOGLE_DRIVE_FOLDER}\"
|
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\"
|
||||||
|
}
|
||||||
|
}
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user