When using external build nodes or CI labs, the logs still need to be push to a public, centralized server. The following are the steps needed to get access to push logs to nexus.akraino.org.
Pushing the logs from within your internal jobs can be handled however you like, but below is a suggested script (adapted from one provided by Andrew Wilkinson). Please note that we run a cleanup script that check the age of directories at a depth of 4 within the logs, so it is important to use the path of "${SILO}/job/${JOB_NAME}/${BUILD_NUMBER}".
# Deploying logs to LF Nexus log server ## # BUILD_NUMBER and JOB_NAME should be set by Jenkins NEXUS_URL=https://nexus.akraino.org SILO=<silo name provided above> JENKINS_HOSTNAME=<hostname/IP of your Jenkins host> BUILD_URL="${JENKINS_HOSTNAME}/job/${JOB_NAME}/${BUILD_NUMBER}/" NEXUS_PATH="${SILO}/job/${JOB_NAME}/${BUILD_NUMBER}" lftools deploy logs $NEXUS_URL $NEXUS_PATH $BUILD_URL echo "Logs uploaded to $NEXUS_URL/content/sites/logs/$NEXUS_PATH" |
Another user-suggested way to structure this script is to push all the log files within a given folder to Nexus, with the below suggested script (please note that this version has not been tested by the LF):
# Archive files to LF Nexus log server ## NEXUS_URL=https://nexus.akraino.org SILO=<silo name provided above> NEXUS_PATH=<the destination folder on Nexus, such as $SILO/job> WORKSPACE=<archives directory provided by the user, with the -p option below it specifies the file pattern as .log files> lftools deploy archives -p '**/*.log' $NEXUS_URL $NEXUS_PATH $WORKSPACE echo "Logs uploaded to $NEXUS_URL/content/sites/logs/$NEXUS_PATH" |
This method requires installing lftools via pip: https://pypi.org/project/lftools/. The credentials for your service account's LFID should be stored in |
Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.