前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >八、pipeline流水线构建项目

八、pipeline流水线构建项目

原创
作者头像
jackxiao
发布2021-11-16 16:22:48
5590
发布2021-11-16 16:22:48
举报
文章被收录于专栏:DevOps运维

一、pipeline概念

1.什么是PIPELINE

JENKINS 2.0的精髓是PIPELINE AS CODE,是帮助JENKINS实现CI到CD转变的重要角色。什么是PIPELINE,简单来说,就是一套运行于JENKINS上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。 PIPELINE的实现方式是一套GROOVY DSL,任何发布流程都可以表述为一段GROOVY脚本,并且 JENKINS支持从代码库直接读取脚本,从而实现了PIPELINE AS CODE的理念。

2.几个基本概念

1.STAGE-阶段: 一个PIPELINE可以划分为若干个STAGE,每个STAGE代表一组操作。注意,STAGE是一个逻辑分组的概念,可以跨多个NODE。 2.NODE-节点: 一个NODE就是一个JENKINS节点,或者是MASTER,或者是AGENT,是执行STEP的具体运行期环境。 3. STEP-步骤: STEP是最基本的操作单元,小到创建一个目录,大到构建一个DOCKER镜像,由各类JENKINS PLUGIN提供

3.安装插件

在Jenkins插件中心搜索并安装名为pipeline的Jenkins插件

mark
mark

二、构建演示

1.创建项目

mark
mark

2.输入脚本

在项目的流水线里面,输入以下内容,这也是pipeline的基本语法格式

代码语言:javascript
复制
pipeline{
    agent any
    stages{
        stage('get code'){
            steps{
                echo "get code from scm"
            }    
        }
        stage('package'){
            steps{
                echo "packge code"
            }
        }
        stage('deploy'){
            steps{
                echo "deploy packge to node1"
            }
        }
    }
}

截图如下

mark
mark

3.执行构建

构建成功后,历史记录如图,会显示每个步骤的执行结果,执行时间如下图

mark
mark

点击任意一个步骤,会弹出步骤日志,再点击日志,可以查看这个步骤的执行情况

mark
mark

三、用语法生成器辅助构建html

pipeline语法有一定的格式和写法,我们只需要记住上面的统一格式,然后具体的语法可以用语法生成器生成,然后复制进去即可,

1.语法生成器使用

  1. 实例 每个不同的功能语法是不一样的,在语法生成器的示例步骤中,选择你要做的操作类别,然后正常操作每个选项后,按下边的语法生成器生成即可
mark
mark
  1. 拉去代码示例[git] 界面选择
mark
mark

语法生成 点击生成流水线脚本后,就会将上面的操作给你变成pipeline脚本,如下 然后将这个脚本复制到对应的步骤中即可

mark
mark
  1. shell代码示例
mark
mark

2.最终代码

1)代码

代码语言:javascript
复制
pipeline{
    agent any
    stages{
        stage('get code'){
            steps{
                checkout([$class: 'GitSCM', branches: [[name: '*/dev']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'git@10.0.0.12:root/monitor.git']]])
            }    
        }
        stage('package'){
            steps{
                sh 'tar zcf /opt/web.tar.gz ./* --exclude=.git'
            }
        }
        stage('deploy'){
            steps{
                sh 'scp /opt/web.tar.gz 10.0.0.11:/tmp && ssh 10.0.0.11 "tar xf /tmp/web.tar.gz -C /data/html/www/"'
            }
        }
    }
}
  1. 截图
mark
mark

3.构建和结果

1)构建

mark
mark

2)结果

mark
mark

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、pipeline概念
    • 1.什么是PIPELINE
      • 2.几个基本概念
        • 3.安装插件
        • 二、构建演示
          • 1.创建项目
            • 2.输入脚本
              • 3.执行构建
              • 三、用语法生成器辅助构建html
                • 1.语法生成器使用
                  • 2.最终代码
                    • 3.构建和结果
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档