Pipeline流水线构建项目

一、pipeline 简介

1.1、概念

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

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

代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程。 持久:无论是计划内的还是计划外的服务器重启,Pipeline都是可恢复的。可停止:Pipeline可接收交互式输入,以确定是否继续执行Pipeline。 多功能:Pipeline支持现实世界中复杂的持续交付要求。它支持fork/join、循环执行,并行执行任务的功能。 可扩展:Pipeline插件支持其DSL的自定义扩展 ,以及与其他插件集成的多个选项。

1.3、如何创建 Jenkins Pipeline呢?

Pipeline 脚本是由 Groovy 语言实现的,但是我们没必要单独去学习 Groovy Pipeline 支持两种语法:Declarative(声明式)和 Scripted Pipeline(脚本式)语法
Pipeline 也有两种创建方法:可以直接在 Jenkins 的 Web UI 界面中输入脚本;也可以通过创建一个 Jenkinsfile 脚本文件放入项目源码库中(一般我们都推荐在 Jenkins 中直接从源代码控制(SCM) 中直接载入 Jenkinsfile Pipeline 这种方法)。

二、构建pipeline 项目

2.1、安装pipeline插件

在这里插入图片描述

2.2 、构建项目

New Item (创建项目)----->
在这里插入图片描述

①、声明式构建

在这里插入图片描述
在这里插入图片描述
stages:代表整个流水线的所有执行阶段。通常stages只有1个,里面包含多个stage

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

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

pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                echo 'pull code'
            }
        }
        stage('build project') {
            steps {
                echo 'build project'
            }
        }
        stage('deploy item') {
            steps {
                echo 'deploy item'
            }
        }
        
    }
}

最后应用并保存
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

②、脚本式构建

返回配置---------->选择"Scripted Pipeline"
在这里插入图片描述
在这里插入图片描述

node {
    def mvnHome
    stage('pull code') { 
        echo 'pull code'
    }
    stage('build project') { 
        echo 'build project'
    }
    stage('deploy item') { 
        echo 'deploy item'
    }
}


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 命令一样。

j结果如下:
在这里插入图片描述

三、声明式代码生成

在pipeline 构建方式的配置界面,点击Pipeline Synta流水线语法
在这里插入图片描述

3.1、拉取代码生成示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2、编译构建代码生成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3、部署代码生成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 、测试pipeline构建

在这里插入图片描述
修改idea里的首页文件,并上传到gitlab
在这里插入图片描述
在这里插入图片描述
在Jenkins进行构建
在这里插入图片描述
访问tomcat
在这里插入图片描述

四、Pipeline Script from SCM

刚才我们都是直接在Jenkins的UI界面编写Pipeline代码,这样不方便脚本维护,脚本容易丢失,建议把Pipeline脚本放 在项目中(一起进行版本控制)

4.1 、建立Jenkinsfile文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解决中文乱码

<%@page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8" %>

在这里插入图片描述
在这里插入图片描述
重新配置web_demo_pipeline项目
在这里插入图片描述

4.2 、配置Pipeline script from SCm 创建方式

在这里插入图片描述
在这里插入图片描述

4.3 、构建后访问tomcat

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值