当前位置:网站首页>Introduction to Jenkins (2) declarative pipeline

Introduction to Jenkins (2) declarative pipeline

2020-11-06 22:33:00 Super_ Charles

1. Jenkins Pipeline Basic concepts

Pipeline is a user-defined CD Pipeline model . The pipeline code defines the entire build process , It usually involves building , The phase of testing and delivering an application . Jenkins Pipeline( Or for short "Pipeline") It's a set of plug-ins , Integrate the implementation and implementation of continuous delivery into Jenkins in . Continuous delivery Pipeline Automation expresses such a process : Continuous delivery of software based on version control management . Jenkins Pipeline The definition of is usually written into a Jenkinsfile In the text file , This file can be placed in the project's source code control library .

2.Jenkinsfile Basic grammar

pipeline {                //  Specific grammar ,pipeline  The block defines all the work done in the pipeline 
    agent any             // agent Assign an actuator to the entire pipeline  ( On the node ) And the work area 
    stages {              //  All processes ( state ) The outer block of , There is only one 
        stage('Build') {  //  Every stage It's a process , Definition name 
            steps {       //  Step block , Internal contains specific operations 
                sh 'make' // sh operation , The words between the quotation marks will look like shell Direct execution 
            }
        }
        stage('Test'){
            steps {
                sh 'make check'
                junit 'reports/**/*.xml'  //junit Use matching definitions to test xml Unit test 
            }
        }
        stage('Deploy') {
            steps {
                sh 'make publish'
            }
        }
    }
}

3. establish Hello World Assembly line

  1. Sign in Jenkins, A new task (New Item), choice Assembly line , Enter the project name Hello Pipeline, determine .
  2. Fill in the description , Check Parametric build process (This project is parameterized).
  3. Add parameter , choice Character parameters (String parameter), And set the string parameter ( name , The default value is , describe ), So we are Jenkinsfile You can get this value in .
  4. Slide down to Assembly line , Define choice Pipeline script, The script inputs the following , Then save .
pipeline {
    agent any
    environment {                // environment variable 
        GREETING="Hello"
    }
    stages{
        stage(' Say hello ') {
            steps{
                sh 'echo "$GREETING $TITLE"'
            }
        }
   }
   post {                        // After the build is completed, the post operation 
        aborted {                // If the build breaks , execute 
            echo ' Build aborted !'
        }
        success {                // Build successfully executed 
            echo ' Building a successful !'
        }
       failure {                 // Build failed execution 
           echo ' Build failed !'
       }
    }
}
  1. Click on Build with Parameters( Parametric construction ), then Begin to build .

  2. Build the output interface :  Build the output interface

  3. Put the mouse on the green box under the greeting , The dot appears logs, You can see that the expected value is output .

  4. Find the... In the lower left corner Build History( Building history ) The build version number of , If it is at present #1, Click in , choice Console Output View the detailed execution log .

#  success Console Output
Started by user charles
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /home/jenkins/root/workspace/Hello Pipeline
[Pipeline] {
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { ( Say hello )
[Pipeline] sh
+ echo 'Hello Jenkins Pipeline'
Hello Jenkins Pipeline
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] echo
 Building a successful !
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

版权声明
本文为[Super_ Charles]所创,转载请带上原文链接,感谢