This section contains the guide to 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.
Access to Nexus Akraino Repository. (How to get access of Nexus Akraino Repository?)
Once you have completed the prerequisites. Now you are ready to:
Note: In this guide, we use docker container for Jenkins installation.
Create a local directory on host-machine, where you want to store the container-logs:
mkdir /jenkins sudo chown -R 1000:1000 /jenkins/ |
Install/setup Jenkins using the command:
docker run --name JENKINS-CONTAINER-NAME --rm --detach --privileged --network jenkins --network-alias docker --volume /jenkins:/var/jenkins_home --publish 2376:2376 -p 80:8080 -p 50000:50000 mehmoodasif/jenkins |
Create an a .netrc file as follows:
machine nexus.akraino.org login LFID_USERID password LFID_PASSWORD |
To push the logs using, you'll have to:
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" |
Follow these steps:
In the General (tab), under the Pipeline section, Pipeline script option must be selected. And paste the below provided groovy script into the Script area. The script is as follows:
Below line change-directory to where your script exists.
pipeline { agent none stages { stage ("push-logs-nexus") { agent any steps { sh "echo 'Start of job (push-logs)'" sh "pwd" dir("../scripts/") { sh "pwd" sh "./push-logs.sh" } sh "pwd" sh "echo 'End of job (push-logs)'" } } } } |
Visit the associated repository to your blueprint. The logs must be there. In our case, the link is: