八:持续集成环境-jenkins Pipeline 简介

pipeline 简单来说就是一套运行在jenkins上的工作流框架,将原来独立运行于单个或多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。

声明式 和 脚本式 语法:

存放方式:1.直接在jenkins界面以脚本的形式书写;2.以jenkinsfile的形式存放在代码管理仓库项目下

新建一个流水线项目(web_demo_pipeline):

流水线

演示:申明式

八:持续集成环境-jenkins Pipeline 简介
pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                echo '=======pull code========'
            }
        }
        stage('build project') {
            steps {
                echo '=======build project========'
            }
        }    
        stage('publish project') {
            steps {
                echo '=======publish project========'
            }            
        }
    }
}
申明式pipeline

八:持续集成环境-jenkins Pipeline 简介

 

八:持续集成环境-jenkins Pipeline 简介

 八:持续集成环境-jenkins Pipeline 简介

 

 

 

 

脚本式:

八:持续集成环境-jenkins Pipeline 简介
node {
    def mvnHome
    stage('pull code') { // for display purposes
        // Get some code from a GitHub repository
        echo '======pull code========='
    }
    stage('Build project') {
        // Run the maven build
        echo '======Build code========='
    }
    stage('publish project') {
        echo '======publish project========='
    }
}
脚本式pipeline

 

八:持续集成环境-jenkins Pipeline 简介

 

八:持续集成环境-jenkins Pipeline 简介

 

 

 

====================================================================================================================================

 

建议使用声明式:

gitlab拉取代码

echo '=======pull code========'  我们就可以删掉,(流水线语法) -> 片段生成器 -> checkout: ... -> ......... -> 生成流水线脚本;如下图

将生成的代码贴到步骤中去

八:持续集成环境-jenkins Pipeline 简介

 

 八:持续集成环境-jenkins Pipeline 简介

 

 

八:持续集成环境-jenkins Pipeline 简介

 

 

八:持续集成环境-jenkins Pipeline 简介

 

 构建过程:我这是shell脚本mvn clean package 和 一个cp 命令,有俩种方式一种也是用生成器生成,还有一种直接 sh 'shell 脚本'

八:持续集成环境-jenkins Pipeline 简介

 

 

 

 

发布过程:

八:持续集成环境-jenkins Pipeline 简介

 

 八:持续集成环境-jenkins Pipeline 简介

 

 

八:持续集成环境-jenkins Pipeline 简介

 

 

 

八:持续集成环境-jenkins Pipeline 简介
pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'ffc3ff54-9666-4b52-ab77-4560e5c188a9', url: 'git@gitlab.hy.com:lifubiao/dm-eureka-server.git']]])
            }
        }
        stage('build project') {
            steps {
                sh label: '', script: 'mvn clean package';
                sh 'cp /apprun/333/boss.war /var/lib/jenkins/workspace/web_demo_pipeline/target'
            }
        }    
        stage('publish project') {
            steps {
                deploy adapters: [tomcat8(credentialsId: 'ae1d1d65-99cf-4418-97ca-fc526a3005aa', path: '', url: 'http://192.168.109.137:8080/')], contextPath: null, war: 'target/*.war'
            }            
        }
    }
}
pipline

八:持续集成环境-jenkins Pipeline 简介

 八:持续集成环境-jenkins Pipeline 简介

 

上一篇:年龄识别之ssrnet


下一篇:SparkShuffle机制