jenkins 构建nodejs-pipeline流水风格的任务



Step3 上图代码如下
node("master"){
//warp([$class:'BuildUser']) {BUILD_USER = BUILD_USER}
GIT_NAME = "https://github.com/Azure-Samples/nodejs-docs-hello-world.git"
if(SCM_REVERSION == ''){
SCM_REVERSION = 'origin/master'
git url : "https://github.com/Azure-Samples/nodejs-docs-hello-world.git"
}
checkout([$class: 'GitSCM', branches: [[name: SCM_REVERSION]],
userRemoteConfigs: [[url: GIT_NAME]]])
currentBuild.displayName = "${BUILD_NUMBER}-${SCM_REVERSION}"
}
node("alpine"){
if (fileExists("package.json")){
sh("ls -al")
sh("npm install")
sh("scp -r * root@172.16.47.123:/data/app/demo-nodejs-pipeline")
}else{
error "File not found:package.json"
}
}
node("master"){
// 默认上面的node使用就是master节点 所以可加 ("master")也可以不添加
//warp([$class:'BuildUser']) {BUILD_USER = BUILD_USER}
GIT_NAME = "https://github.com/Azure-Samples/nodejs-docs-hello-world.git"
// 定义git地址链接
if(SCM_REVERSION == ''){
// 使用 git parameter 参数设置名字 然后下面进行构建的时候可以直接使用名称 分情况进行添加$SCM_REVERSION类型进行使用
SCM_REVERSION = 'origin/master'
//默认使用的 远程分支 因为上面使用的是开源的不需要输入密码的github地址
git url : "https://github.com/Azure-Samples/nodejs-docs-hello-world.git"
// 也可以在开头直接定义 GIT_NAME 之后上面直接使用 git url 进行继续定义使用
}
checkout([$class: 'GitSCM', branches: [[name: SCM_REVERSION]],
userRemoteConfigs: [[url: GIT_NAME]]])
// 上面的语法是从pipeline语法中找到的 下面的图可以指导自己找到
currentBuild.displayName = "${BUILD_NUMBER}-${SCM_REVERSION}"
// 上面定义的菜蔬可以去掉构建之后数字前面的#号 后面的参数可以直接拿到远程的分支是 主分支还是其它分支的类型 在构建完成之后 显示的更加清晰明了
}
node("alpine"){
// 上面git执行构建完成之后 定义哪个节点继续进行安装 使用 将代码进行发布
if (fileExists("package.json")){
// if进行判断 构建之后的任意一个新生成的文件是否已经存在了 然后继续进行发布 不然构建失败之后 也是直接发送给客户端了
sh("ls -al")
sh("npm install")
// 节点执行安装 构建之后需要安装的包
sh("scp -r * root@172.16.47.123:/data/app/demo-nodejs-pipeline")
// 将构建之后的内容递归发布到其它机器
}else{
error "File not found:package.json"
// 错误回复客户端
}
}




jenkins 构建nodejs-pipeline流水风格的任务的更多相关文章
- 使用docker+jenkins构建nodejs前端项目
前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目.这一节,我们继续扩展功能,增加对Nodejs ...
- Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目
前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目.这一节,我们继续扩展功能,增加对Nodejs ...
- jenkins学习之自动打包构建nodejs应用
上一节记录了下jenkins在centos下的安装,这节继续,说下怎么使用jenkins和nodejs进行自动打包更新服务. 创建任务 创建任务比较简单,这里我们创建自由风格项目: General信息 ...
- Jenkins 构建自动化 .NET Core 发布镜像
Jenkins 构建自动化 .NET Core 发布镜像 导读 在本章中,将介绍如何在 Linux 下使用 Docker 部署.启动 Jenkins,编写脚本,自动化构建 .NET Core 应用,最 ...
- Jenkins构建通知
目录 一.简介 二.推送到gitlab 三.邮件通知 自带配置 Email Extension 四.钉钉通知 五.脚本钉钉通知 六.HTTP请求通知 一.简介 类似于监控报警,jenkins在配置持续 ...
- 使用Jenkins构建持续集成环境
简介 Jenkins是一个开源的持续集成工具,提供了数百种插件供用户选择,能够完成整套持续集成环境的构建. 它具有如下的特点: 持续集成和持续发布 作为可扩展的自动服务器,Jenkins可以作为简单的 ...
- jenkins创建multibranch pipeline
参考以下文章进行实践: https://jenkins.io/doc/pipeline/tour/hello-world/#what-is-a-jenkins-pipeline (看见一个介绍的还不错 ...
- [ci]jenkins构建容器项目java-helloworld-非docker plugin模式
栗子思路说明: 不使用任何docker plugin 使用jenkins server本地(含mvn环境)构建,无jenkins slave jenkins server本地构建的war包,推送dep ...
- GitLab 自动触发 Jenkins 构建
GitLab 是当前应用非常广泛的 Git Hosting 工具,Jenkins 是非常牛逼的持续集成工具.尽管 GitLab 有内建的 GitLab CI,但它远没有 Jenkins 那么强大好用. ...
- jenkins构建maven项目
使用jenkins构建部署maven项目 因为一开始我们是自定义插件,所以构建项目的时候没有显示maven风格的项目.如果要想使用maven,我们这里必须得安装一下插件,我们在插件管理器中, 可以看到 ...
随机推荐
- python操作mysql数据-执行语句返回值直接返回字典类型
fetchall()将结果放在二维数组里面,每一行的结果在元组里面 import pymysql def export(table_name): conn =pymysql.connect(host ...
- cygwin的sh: line 15: $'\r': command not found错误
安装dos2unix工具,转换一下sh文件即可 apt-cyg install dos2unix dos2unix xxx.sh
- jmeter 之系统参数根据条件修改
背景:在setup 线程组定义了一个全局变量a:${__setProperty(a,2,)},线程组里有两个线程通过判断a的值来决定是否执行sample,线程组的最后通过beanshell sampl ...
- iconfont在线链接使用方法(转)
原文:https://blog.csdn.net/jinkingliao/article/details/51353937 基础流程就不多赘述,直接到http://www.iconfont.cn/官网 ...
- HBase JavaAPI
一.概念 1.对HBase JavaAPI的概述: 01.hbase使用java语言编写,自然支持java编程 02.支持CRUD操作 03.JavaAPI包含了所有的hbase的shell,甚至比这 ...
- springboot读取application.properties中自定义配置
假设在application-xxx.properties中配置 user.name=yuhk 一.在Controller中读取 @Value("{$user.name}") pr ...
- vue中keep-alive使用时,注意要点
<keep-alive exclude="QRCode,NewsInfor,VipRecordDetail"> <router-view></rout ...
- Mysql+keepalived双主
搭建环境说明: master1:192.168.175.210 主 master2:192.168.175.211 备 keepalived的vip: 192.168.175.11(注意这是虚拟IP, ...
- Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
很长的报错,截取 ERROR c.a.d.p.DruidDataSource - discard connection com.mysql.jdbc.exceptions.jdbc4.Comm ...
- Python3.0科学计算学习之绘图(四)
绘制三维图: mplot3d工具包提供了点.线.等值线.曲面和所有其他基本组件以及三维旋转缩放的三维绘图. 1.散点的三维数据图 from mpl_toolkits.mplot3d import ax ...