You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Next »


Introduction


Jenkins is used by Automatics for following activities. 

  • To perform test execution.
  • To deploy Automatics Core to maven artifact repository.

Jenkins Setup

Automatics jenkins setup documentation can be found in the page : Automatics Jenkins Setup

Automatics Deployment and 3.0 API Parser Pipeline Job

For automating the deployment and parser jobs for Automatics, a new Pipeline job is introduced. What this pipeline job will do is it will invoke the existing jenkins freestyle jobs which does the deployment and API scanning in the correct order. The overview of jenkins pipeline job as well as the steps to create the Automatics pipeline job below.

Why use Jenkins pipeline?

Jenkins is an open continuous integration server which has the ability to support the automation of software development processes. You can create multiple automation jobs with the help of use cases, and run them as a Jenkins pipeline.

Here are the reasons why you use should use Jenkins pipeline:

  • Jenkins pipeline is implemented as a code which allows multiple users to edit and execute the pipeline process.
  • Pipelines are robust. So if your server undergoes an unforeseen restart, the pipeline will be automatically resumed.
  • You can pause the pipeline process and make it wait to resume until there is an input from the user.
  • Jenkins Pipelines supports big projects. You can run multiple jobs, and even use pipelines in a loop.


Jenkins pipeline concept


Term

Description

Pipeline

The pipeline is a set of instructions given in the form of code for continuous delivery and consists of instructions needed for the entire build process. With pipeline, you can build, test, and deliver the application.

Node

The machine on which Jenkins runs is called a node. A node block is mainly used in scripted pipeline syntax.

Stage

A stage block contains a series of steps in a pipeline. That is, the build, test, and deploy processes all come together in a stage. Generally, a stage block is used to visualize the Jenkins pipeline process.

Step

A step is nothing but a single task that executes a specific process at a defined time. A pipeline involves a series of steps.

Automatics 3.0 Deployment and Parser Job creation

URL:<<Jenkins url>>

Go to the Dashboard of after logging in to Jenkins UI.

  • Click on New Item in the Jenkins dashboard.



  • Click on the New Item and Create a job name.



  • Select Pipeline option from the List of options



Automatics 3.0 Deployment and parser Jobscript
node {
   
    stage('Deployment DEPLOY_AUTOMATICS_CORE') {
       echo "Calling CI-Automatics-Core Job"
       build job: 'CI-Automatics-Core', wait: true, propagate: true
    }
    
    stage('Deployment RDKM_DEPLOY_RDKB_TEST_UTILS') {
       echo "Calling CI-RDKB-Utils Job"
       build job: 'CI-RDKB-Utils', wait: true, propagate: true
    }
    
    stage('Deployment RDKM_DEPLOY_RDKV_TEST_UTILS') {
       echo "Calling CI-RDKV-Utils Job"
       build job: 'CI-RDKV-Utils', wait: true, propagate: true
    }
    
     stage('Run utility parser for Automatics Core') {
       echo "Calling RDKM_AUTOMATICS_API_SCAN_FOR_AUTOMATICS_CORE Job"
       build job: 'AUTOMATICS_API_SCAN_FOR_AUTOMATICS_CORE', wait: true, propagate: true
    }
    
    stage('Run utility parser for Scriptless Automation') {
       echo "Calling RDKM_AUTOMATICS_API_SCAN_FOR_SCRIPTLESS_AUTOMATION Job"
       build job: 'AUTOMATICS_API_SCAN_FOR_SCRIPTLESS_AUTOMATION', wait: true, propagate: true
    }
    
      stage('Run utility parser for RDKB Test Utils') {
       echo "Calling RDKM_AUTOMATICS_API_SCAN_FOR_RDKB_UTILS Job"
       build job: 'AUTOMATICS_API_SCAN_FOR_RDKB_UTILS', wait: true, propagate: true
    }
    
    stage('Run utility parser for RDKV Test Utils') {
       echo "Calling RDKM_AUTOMATICS_API_SCAN_FOR_RDKV_UTILS Job"
       build job: 'AUTOMATICS_API_SCAN_FOR_RDKV_UTILS', wait: true, propagate: true
    }
}










  • No labels