Один из способов - просто загрузить файл журнала в s3, используя AWS CLI. Вы можете попробовать следующий подход.
echo "hello from job"
echo "job logs to s3"
cat ${JENKINS_HOME}/jobs/${JOB_NAME}/builds/${BUILD_NUMBER}/log >> ${BUILD_NUMBER}.log
/usr/bin/aws s3 cp ${BUILD_NUMBER}.log s3://s3_bucket_name/${BUILD_NUMBER}.log
Или вы можете установить для задания cron значение syn c папка локальных журналов с помощью s3.
Например,
, вы можете установить задание cron, которое будет запускаться каждую минуту, и синхронизировать локальный файл журнала c с s3 или копировать и иметь управление версиями на стороне s3, или другой вариант - запускать скрипт cronjob после завершения каждого задания.
for logs_file in $(ls /var/lib/jenkins/jobs/*/builds/lastSuccessfulBuild/log);
#now logs_file contain all job logs file path
do
echo "copy logs file to s3 $logs_file
# to identify file unique
s3_file_name=$(date +'%Y%-m%d%s')
aws s3 cp $logs_file s3://s3_bucket_name/"${s3_file_name}".log
done
#Note there are different directories you can copy accordingly
#lastFailedBuild
#lastSuccessfulBuild
# lastUnstableBuild
#lastUnsuccessfulBuild
# and logs by build numbers