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流水风格的任务的更多相关文章

  1. 使用docker+jenkins构建nodejs前端项目

    前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目.这一节,我们继续扩展功能,增加对Nodejs ...

  2. Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

    前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目.这一节,我们继续扩展功能,增加对Nodejs ...

  3. jenkins学习之自动打包构建nodejs应用

    上一节记录了下jenkins在centos下的安装,这节继续,说下怎么使用jenkins和nodejs进行自动打包更新服务. 创建任务 创建任务比较简单,这里我们创建自由风格项目: General信息 ...

  4. Jenkins 构建自动化 .NET Core 发布镜像

    Jenkins 构建自动化 .NET Core 发布镜像 导读 在本章中,将介绍如何在 Linux 下使用 Docker 部署.启动 Jenkins,编写脚本,自动化构建 .NET Core 应用,最 ...

  5. Jenkins构建通知

    目录 一.简介 二.推送到gitlab 三.邮件通知 自带配置 Email Extension 四.钉钉通知 五.脚本钉钉通知 六.HTTP请求通知 一.简介 类似于监控报警,jenkins在配置持续 ...

  6. 使用Jenkins构建持续集成环境

    简介 Jenkins是一个开源的持续集成工具,提供了数百种插件供用户选择,能够完成整套持续集成环境的构建. 它具有如下的特点: 持续集成和持续发布 作为可扩展的自动服务器,Jenkins可以作为简单的 ...

  7. jenkins创建multibranch pipeline

    参考以下文章进行实践: https://jenkins.io/doc/pipeline/tour/hello-world/#what-is-a-jenkins-pipeline (看见一个介绍的还不错 ...

  8. [ci]jenkins构建容器项目java-helloworld-非docker plugin模式

    栗子思路说明: 不使用任何docker plugin 使用jenkins server本地(含mvn环境)构建,无jenkins slave jenkins server本地构建的war包,推送dep ...

  9. GitLab 自动触发 Jenkins 构建

    GitLab 是当前应用非常广泛的 Git Hosting 工具,Jenkins 是非常牛逼的持续集成工具.尽管 GitLab 有内建的 GitLab CI,但它远没有 Jenkins 那么强大好用. ...

  10. jenkins构建maven项目

    使用jenkins构建部署maven项目 因为一开始我们是自定义插件,所以构建项目的时候没有显示maven风格的项目.如果要想使用maven,我们这里必须得安装一下插件,我们在插件管理器中, 可以看到 ...

随机推荐

  1. Linux下查找某一文件常用的方式

    当我们需要在ubuntu中找到之前的某一个文件,该用什么方式呢?用以下命令你就可以快速定位: find / -name "pycharm.sh" 用find查找这个命令,确定查找范 ...

  2. .NET中的泛型集合总结

    最近对集合相关的命名空间比较感兴趣,以前也就用下List<T>, Dictionary<Tkey, TValue>之类,总之,比较小白.点开N多博客,MSDN,StackOve ...

  3. 【C++】子序列匹配问题

    /* 一个串的“子序列”(subsequence)是将这个串中的一些字符提取出来得到一个新串,并且不改变它们的相对位置关系.例如,串"XDoi","XianYu!&quo ...

  4. 2. Scala变量

    2.1 变量是程序的基本组成单位 举一个简单的例子 object boke_demo01 { def main(args: Array[String]): Unit = { var a: Int = ...

  5. ORACLE——将多行文本数据转换成一行

    前几天项目中有个到处文件的功能,但是有一个字段存进的数据存在换行情况,导出来的数据会出现错乱的情况,所以需要把换行的数据转换成一行.当然也可以在java程序中实现. 数据库中的数据为: SQL'; A ...

  6. 时间、日历(time、calendar、datatime)

    import time import calendar import datatime #获取代码运行的时间差 start = time.time() end = time.time() print( ...

  7. 70个Python练手项目列表(都有完整教程)

    前言: 不管学习那门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行. 这里整理了70个Python实战项目列表,都有完整且详细的教程,你可以从 ...

  8. PyTorch常用代码段整理合集

    PyTorch常用代码段整理合集 转自:知乎 作者:张皓 众所周知,程序猿在写代码时通常会在网上搜索大量资料,其中大部分是代码段.然而,这项工作常常令人心累身疲,耗费大量时间.所以,今天小编转载了知乎 ...

  9. MVC 使用缓存

    public AController() { ViewBag[); } private List<BlogsClass> GetClass(int parentId) { List< ...

  10. 搭建本地yum仓库(centos 7.5)

    1. 保留下载的软件包 [root@zabbix-server01 ~]# vim /etc/yum.conf keepcache=1 #开启后下载的软件都会保存到本地 2.将软件进行下载,并将所有r ...