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?
- who/from: Jenkins setup in a lab (private/shared lab)
- where/to: Nexus Repository Manager - Akraino
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:
- setup Jenkins locally
- push logs to Nexus Akraino Repository
Note: In this guide, we use docker container for Jenkins installation.
Setup Jenkins locally:
To write.
Push logs to Nexus Akraino Repository:
To push the logs using, you'll have to:
- write a script to push logs
- create/configure a job on your jenkins
- validate the logs being pushed on Nexus Akraino Repository
Write a script to push logs:
To write.
Create a job on your Jenkins:
Follow these steps:
- Log into to Jenkins
- Through the Dashboard, go to New Item
- (in our case, we used push-logs)
- Select the Pipeline options shown
- Click OK
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:
An example (groovy-script) to push logs to Nexus Akraino Repositorypipeline { 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)'" } } } }
- Now you have to configure the job to load/run the script to push logs (wrote in the previous step). An example on how to is provided below:
Validate the logs being pushed on Nexus Akraino Repository:
Visit the associated repository to your blueprint. The logs must be there. In our case, the link is:
- https://nexus.akraino.org/content/sites/logs/jejunu-pred-vanet-mec/job/push-logs, in which:
- jejunu-pred-vanet-mec is your blueprint's nexus repository
- push-logs is your job name created on Jenkins