• Jenkins项目构建类型--Pipeline流水线项目构建(20200916) 重要


    Pipeline简介</DI< div>

    1)概念

    Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点

    的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。 </DI< div>

    2)使用Pipeline有以下好处(来自翻译自官方文档):

    代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流

    程。 持久:无论是计划内的还是计划外的服务器重启,Pipeline都是可恢复的。 可停止:Pipeline可接

    收交互式输入,以确定是否继续执行Pipeline。 多功能:Pipeline支持现实世界中复杂的持续交付要

    求。它支持fork/join、循环执行,并行执行任务的功能。 可扩展:Pipeline插件支持其DSL的自定义扩

    展 ,以及与其他插件集成的多个选项。 </DI< div>

    安装Pipeline插件

    Manage Jenkins->Manage Plugins->可选插件</DI< div>

    image

    安装插件后,创建项目的时候多了“流水线”类型</DI< div>

    image

    Pipeline语法快速入门 </DI< div>

    创建项目 </DI< div>

    image

    流水线->选择HelloWorld模板</DI< div>

    image

    生成内容如下:

    pipeline {

    agent any

    stages {

    stage('Hello') {

    steps {

    echo 'Hello World'

    }

    }

    }

    }

    stages:代表整个流水线的所有执行阶段。通常stages只有1个,里面包含多个stage

    stage:代表流水线中的某个阶段,可能出现n个。一般分为拉取代码,编译构建,部署等阶段.

    steps:代表一个阶段内需要执行的逻辑。steps里面是shell脚本,git拉取代码,ssh远程发布等任意内

    容。

    编写一个简单声明式Pipeline:

    pipeline {

    agent any

    stages {

    stage('拉取代码') {

    steps {

    echo '拉取代码'

    }

    }

    stage('编译构建') {

    steps {

    echo '编译构建'

    }

    }

    stage('项目部署') {

    steps {

    echo '项目部署'

    }

    }

    }

    }



    点击构建,可以看到整个构建过程</DI< div>

    image

    2)Scripted Pipeline脚本式-Pipeline

    创建项目

    image

    这次选择"Scripted Pipeline</DI< div>

    image

    node {

    def mvnHome

    stage('Preparation') { // for display purposes

    }

    stage('Build') {

    }

    stage('Results') {

    }

    }


    Node:节点,一个 Node 就是一个 Jenkins 节点,Master 或者 Agent,是执行 Step 的具体运行

    环境,后续讲到Jenkins的Master-Slave架构的时候用到。

    Stage:阶段,一个 Pipeline 可以划分为若干个 Stage,每个 Stage 代表一组操作,比如:

    Build、Test、Deploy,Stage 是一个逻辑分组的概念。

    Step:步骤,Step 是最基本的操作单元,可以是打印一句话,也可以是构建一个 Docker 镜像,

    由各类 Jenkins 插件提供,比如命令:sh ‘make’,就相当于我们平时 shell 终端中执行 make 命令

    一样。

    编写一个简单的脚本式Pipeline

    node {

    def mvnHome

    stage('拉取代码') { // for display purposes

    echo '拉取代码'

    }

    stage('编译构建') {

    echo '编译构建'

    }

    stage('项目部署') {

    echo '项目部署'

    }

    }

    构建结果和声明式一样!


    流水线声明式脚本操作---------------------------------------------------------------------

    拉取代码 (都是靠魔板生成代码的模式)

    生成git 代码,打开  流水线语法 

    image

    image

    image

    image

    image

    image

    image

    image

    image

    编译打包

    image

    image

    image

    image

    或者  直接sh  后面加上要执行的脚本或命令

    image



    部署

    image

    image

    image

    image

    假如代码需要同时部署到多台的tomcat,选择添加多台。如下图

    image

    image


    Pipeline Script from SCM--------------------------------------(调用脚本方式)

    刚才我们都是直接在Jenkins的UI界面编写Pipeline代码,这样不方便脚本维护,建议把Pipeline脚本放

    在项目中(一起进行版本控制)

    1)在项目根目录建立Jenkinsfifile文件,把内容复制到该文件中</DI< div>

    image

    把Jenkinsfifile上传到Gitlab

    image

    image

    image


    2)在项目中引用该文件

    image

    image

  • 相关阅读:
    Core Data
    scrollViews
    网络通信
    UIView
    textView取消键盘
    AFNetworking转载
    多线程
    css3[转载][菜单导航] 带有记忆功能的多页面跳转导航菜单
    jQuery翻牌或百叶窗效果
    jQuery联动日历(三)完成
  • 原文地址:https://www.cnblogs.com/pengrj/p/13677965.html
Copyright © 2020-2023  润新知