From 7343e9d630f69ecd2c92e3829fa08f412931e743 Mon Sep 17 00:00:00 2001 From: dzaitsev Date: Sun, 4 May 2025 15:02:27 +0300 Subject: [PATCH] gdrive update --- build/jenkins/GDriveUpload | 41 +++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/build/jenkins/GDriveUpload b/build/jenkins/GDriveUpload index 1d2a1a3..449261c 100644 --- a/build/jenkins/GDriveUpload +++ b/build/jenkins/GDriveUpload @@ -81,34 +81,39 @@ pipeline { powershell """ # List all files in the Google Drive folder Write-Output "Listing all files in the folder ${params.GOOGLE_DRIVE_FOLDER} on Google Drive..." - \$files = rclone lsf --files-only --dirs-only --max-depth 1 AzaionGoogleDrive:${params.GOOGLE_DRIVE_FOLDER} --format "tp" + \$files = rclone lsf --files-only AzaionGoogleDrive:${params.GOOGLE_DRIVE_FOLDER} --format "tp" --max-depth 1 Write-Output "Files found on Google Drive:" Write-Output \$files - # Sort the files by date in descending order - \$filesSorted = \$files | Sort-Object -Descending + # If files were found + if (\$files.Count -gt 0) { + # Sort the files by date in descending order + \$filesSorted = \$files | Sort-Object -Descending - # Keep only the 3 latest files - \$filesToDelete = \$filesSorted | Select-Object -Skip 3 + # Keep only the 3 latest files + \$filesToDelete = \$filesSorted | Select-Object -Skip 3 - # Display the files to delete - Write-Output "Files to delete: \$filesToDelete" + Write-Output "Files to delete (older than 3 latest):" + Write-Output \$filesToDelete - # If there are files to delete, remove them - if (\$filesToDelete.Count -gt 0) { - Write-Output "Deleting files: \$filesToDelete" + # If there are files to delete, remove them + if (\$filesToDelete.Count -gt 0) { + Write-Output "Deleting files: \$filesToDelete" - # Create a temporary file to store the list of files to delete - \$tempFile = [System.IO.Path]::GetTempFileName() - \$filesToDelete | Out-File -FilePath \$tempFile -Encoding utf8 + # Create a temporary file to store the list of files to delete + \$tempFile = [System.IO.Path]::GetTempFileName() + \$filesToDelete | Out-File -FilePath \$tempFile -Encoding utf8 - # Use rclone to delete the files - rclone delete AzaionGoogleDrive:${params.GOOGLE_DRIVE_FOLDER} --files-from \$tempFile --drive-chunk-size 64M + # Use rclone to delete the files + rclone delete AzaionGoogleDrive:${params.GOOGLE_DRIVE_FOLDER} --files-from \$tempFile --drive-chunk-size 64M - # Clean up the temporary file - Remove-Item -Path \$tempFile + # Clean up the temporary file + Remove-Item -Path \$tempFile + } else { + Write-Output "No files to delete." + } } else { - Write-Output "No files to delete." + Write-Output "No files found on Google Drive to clean up." } """ }