jenkins项目构建类型 -----Pipeline流水线项目构建_jenkins中使用jenkins pipline构建npm项目配置步骤-程序员宅基地

技术标签: Jenkins  运维  

壹,概念

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

贰 优点

  • 代码
  • 持久
  • 可停止
  • 多功能
  • 可扩展

叁 如何创建Jenkins Pipeline

  • pipeline 脚本语言是由Groovy 语言实现得,但是也没有必要单独去学习Groovy
  • pipeline 支持两种语法 declarative(声明式)和scripted pipeline(脚本式)语法
  • pipeline 有两种创建方式 1,可以直接在jenkins 得web ui 界面中输入脚本; 2 可以通过创建一个jenkinsfile脚本文件放入项目源码库中

肆 安装pipeline 插件

Manage Jenkins ---->>> Manager Plugins—>>>可选插件
在这里插入图片描述

伍,新建一个流水线项目(pipeline项目)

声明式pipeline

新建Item----->>>>web_demo_pipeline-------->>>pipeline -----流水线 ----选择声明式
输入声明式脚本

pipeline {
    
    agent any

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

在这里插入图片描述
保存确定,自此一个pipeline声明式测试流水构建完成
一个构建历史记录
在这里插入图片描述

陆,构建一个脚本式pipeline流水项目

脚本式pipeline

新建Item----->>>>web_demo_pipeline_script-------->>>pipeline(流水线) ----选择脚本式
输入脚本式语法

node {
    
    def mvnHome
    stage('pull code') {
     // for display purposes
        echo 'pull code'
    }
    stage('Build project') {
    
        echo 'Build project'
    }
    stage('publish project') {
    
        echo 'publish project'
    }
}

在这里插入图片描述
保存确定,自此一个pipeline脚本式测试流水构建完成
一个构建历史记录
在这里插入图片描述

陆,编译一个项目

用jenkins 提供得辅助工具进行声明式脚本得编写

拉取代码

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

构建项目

1,选择shell script
在这里插入图片描述
2,写入 mvn clean package
在这里插入图片描述
3,生成构建代码
sh ‘mvn clean package’
在这里插入图片描述
在这里插入图片描述
4,保存应用,运行下项目验证构建是否会成功
在这里插入图片描述

远程发布项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述## 保存应用并构建
在这里插入图片描述

Pipeline Script from SCM

把Pipeline脚本放在项目中(一起进行版本控制)

1,在项目得根目录下建立jenkinsfile 文件,把pipeline 声明式脚本内容复制到该文件中,并把Jenkinsfile 文件上传到gitlab上
在这里插入图片描述

2,在项目中引用该文件
在这里插入图片描述在这里插入图片描述

pipeline 问题一

进入项目没有阶段视图
在这里插入图片描述
只需要安装:Pipeline Stage View插件即可

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/renren_100/article/details/128056776

智能推荐

java中的volatile关键字的功能详解_volatile 关键字,-程序员宅基地

文章浏览阅读4.6k次。Cookie的应用场景:1,记录用户的登陆状态,提示用户是否记住密码;2,购物车购物功能;我们知道,在web开发过程中,我们都要和cookie打交道,有时候离开了cookie还真玩不转。cookie最典型的应用莫过于登陆提示,最近在做一个小项目,正好要用到cookie的知识,在这里顺便做一下总结。_volatile 关键字,

通过 ICMP 协议实现 Ping Tunnel 建立可穿透网络隧道-程序员宅基地

文章浏览阅读7.1k次。Twitter via Ping Tunnel周四 Cola 没去幼儿园,中午带着他去 KFC 吃东西。回来的时候小林指着西总布胡同说走这条路回去还是原路返回,他说还是..._ping tunnel

基于springboot+vue.js的名城小区物业管理系统(附带文章和源代码设计说明文档ppt)-程序员宅基地

文章浏览阅读817次,点赞18次,收藏20次。博主介绍:CSDN深耕的技术专家、博客专家、有着常年的工作经验、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战文末获取源码+数据库。

Arthas使用教程 阿里巴巴开源项目、史上最强java线上诊断工具-程序员宅基地

文章浏览阅读1.4w次,点赞31次,收藏263次。什么是 Arthas摘录一段官方 Github 上的简介Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!是否有一个全局视角来._arthas

java 方法注释格式_JAVA注释方法及格式-程序员宅基地

文章浏览阅读2.7k次。2019独角兽企业重金招聘Python工程师标准>>>JAVA注释方法及格式1、单行(single-line)--短注释://……单独行注释:在代码中单起一行注释, 注释前最好有一行空行,并与其后的代码具有一样的缩进层级。如果单行无法完成,则应采用块注释。注释格式:/* 注释内容 */行头注释:在代码行的开头进行注释。主要为了使该行代码失去意义。注释格式:// 注释内容行尾注释:..._方法注释

egret4.X版本项目无法与egret 5.X项目共存解决_egret 4.x老项目升级-程序员宅基地

文章浏览阅读367次。在编译egret 5.X 项目项目中执行egret clean_egret 4.x老项目升级

随便推点

App下载安装量如何统计_app下载量推广-程序员宅基地

文章浏览阅读3.1k次。背景和目的开展广告推广等活动后,想要通过安装量、注册量分析活动效果给多个不同渠道,分别进行安装量分析,评估谁优谁劣方便渠道结算,为后续活动的开展提供数据支撑App安装流程通常用户在某个渠道下看到App的下载链接后,会经历以下五个步骤:打开链接进入下载页面->点击下载按钮跳转应用商店->进入应用商店下载App->打开激活App->注册登录账号。这五个步骤分别对应的量化数据是:落地页访问量、下载按钮点击量、App下载量、App安装激活量、App注册量。通过对这四个指标的跟踪_app下载量推广

pd.DataFrame.to_excel出错,如何解决??_pd.to_excel 出现 临时文件错误-程序员宅基地

文章浏览阅读3k次。各位大佬请问是什么问题?我运行pd.DataFrame.to_excel,结果每个选项都报错,但是库都打足了。# 1.文件读取# 1.1 读取Excel文件import pandas as pddata = pd.read_excel('data.xlsx') # data为DataFrame结构,这里设置是相对路径,也可以改成绝对路径print(data)# 1.2 读取CSV文..._pd.to_excel 出现 临时文件错误

关于a标签,添加:data-toggle="modal" 属性,又添加了:href="#btn_top",属性导致 跳转到另一个页面出现遮罩层_"data-toggle=\"modal"-程序员宅基地

文章浏览阅读7.1k次。1.关于a标签,添加:data-toggle="modal" 属性,又添加了:href="#btn_top",属性导致 跳转到另一个页面出现遮罩层如上图,如果a标签无意添加了:data-toggle="modal"属性,那么你的href标签里对应的modal要能找到,广泛解释就是。添加:data-toggle="modal"属性,添加a标签会寻找此标签的href属性,可刚好你写的href ..._"data-toggle=\"modal"

MySQL的on duplicate key update 的使用_mysql on duplicate key update-程序员宅基地

文章浏览阅读1.5w次,点赞2次,收藏31次。mysql的存在就更新不存在就插入实现先建数据库表,重点要添加主键索引(id列,没有测试)和唯一索引(branch_no列)sqlINSERT INTO t_bank_organ_copy1 ( organ_no, branch_no, branch_name, created_by )VALUES ( 1255, '13', '深圳分行', '小王' ) ON DUPLICATE KEY UPDATE branch_name = '中国银行'测试:1、organ_no, ._mysql on duplicate key update

【JqGrid】JqGrid日期格式化处理-程序员宅基地

文章浏览阅读6.2k次。使用JqGrid显示日期是转换后的结果,即显示的毫秒数。需要自己进行手工处理,处理后的代码如下:{label:'日期',name: 'departure_date',index: 'departure_date',align: "center",formatter:function(cellValue,options,rowObject){ return (moment(rowOb_jqgrid日期格式化

Convert.ToInt32()与Int.Parse()的区别_convert.toint32和int.parse的区别-程序员宅基地

文章浏览阅读619次。1、int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型);2、int.Parse(string sParameter)是个构造函数,参数类型只支持string类型;3、Convert.ToInt32()适合将Object类型转换为int型;4、Convert.ToInt32()和int.Parse()的细微差别:对于空值(null)的处理_convert.toint32和int.parse的区别