This section contains the guide to Jenkins.



General information - Jenkins:

Why do we need Jenkins?

To get approval of continuous integration continuous delivery/deployment (CICD) by the Akraino committee. i.e., By pushing the logs to Nexus Akraino Repository.

Who should push the logs? / Where should the logs be pushed?

Prerequisites: 

Access to Nexus Akraino Repository. (How to get access of Nexus Akraino Repository?)



Jenkins for private lab:

Once you have completed the prerequisites. Now you are ready to:

Note: In this guide, we use docker container for Jenkins installation. 



Setup Jenkins locally: 

Setup credentials to access Nexus Akraino Repository: 

Push logs to Nexus Akraino Repository:

To push the logs using, you'll have to:

Write a script to push logs: 

Create an .sh file. We named it as push-logs.sh:

NEXUS_URL=https://nexus.akraino.org
SILO=<silo name provided above>
JENKINS_HOSTNAME=<hostname/IP of your Jenkins host>

# JOB_NAME and BUILD_NUMBER should be set by Jenkins 
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"

Create/configure a job on your Jenkins: 

Follow these steps:

Validate that the CICD logs on Nexus Akraino Repository:

Visit the associated repository to your blueprint. The logs must be there. In our case, the link is: