jenkins入门13--pipeline

Jenkins-pipeline(1)-基础

为什么要使用pipeline

  1. 代码:pipeline 以代码的形式实现,通过被捡入源代码控制, 使团队能够编译,审查和迭代其cd流程

  2. 可连续性:jenkins 重启 或者中断后都不会影响pipeline job

  3. 停顿:pipeline 可以选择停止并等待人工输入或者批准,然后在继续pipeline运行

  4. 多功能:pipeline 支持现实世界的复杂CD要求, 包括fork、join子进程,循环和并行执行工作的能力

  5. 可扩展:pipeline 插件支持其DSL的自动扩展以及其插件集成的多个选项。

Pipeline的几个基本概念:

  • Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。注意,Stage是一个逻辑分组的概念,可以跨多个Node。

  • Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是slave,是执行Step的具体运行期环境。

  • Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供

新建pipeline项目

简单配置一下这里,执行

结果

增加步骤

node(){

stage('第一步'){

echo '拉代码'

}

stage('第二步'){

echo '编译'

}

stage('第三步'){

echo '打包'

}

stage('第四步'){

echo '发布'

}

}

安装Blue Ocean 插件

安装有些错误是因为blueocean-rest 没有安装,成功安装会有Blue Ocean图标

可以更好的查看流水线

input中断

node(){

stage('第一步'){

echo '拉代码'

}

stage('第二步'){

echo '编译'

}

stage('第三步'){

echo '打包'

}

stage('第四步'){

input '发布'

}

}

点击proceed

Blue Ocean 里也可以操作

执行脚本

node (){

stage("先看看主机名")

sh "hostname"

stage("在看看磁盘空间")

sh("df -h")

stage("拉code")

git credentialsId: '9a86b70e-5b36-4170-b370-4a695affdb36', url: 'https://gitee.com/daxiashagnxian/coding.git'

}

发送邮件

node (){

stage("先看看主机名")

sh "hostname"

stage("在看看磁盘空间")

sh("df -h")

stage("拉code")

git credentialsId: '9a86b70e-5b36-4170-b370-4a695affdb36', url: 'https://gitee.com/daxiashagnxian/coding.git'

stage('发邮件')

emailext body: '啦啦啦啦', subject: 'test', to: 'zhaocuixia666@163.com'

}

相关推荐
艾莉丝努力练剑24 分钟前
【Linux:文件】文件基础IO进阶
linux·运维·服务器·c语言·网络·c++·centos
Agent产品评测局28 分钟前
企业自动化项目,如何做好内部推广与员工培训?——企业级智能体落地与人才赋能实测指南
运维·人工智能·ai·chatgpt·自动化
艾莉丝努力练剑31 分钟前
【MYSQL】MYSQL学习的一大重点:表的约束
linux·运维·服务器·开发语言·数据库·学习·mysql
gududexiao1 小时前
linux 设置tomcat开机启动
linux·运维·tomcat
夫礼者1 小时前
【极简监控】不骗篇幅!7个零运维成本的排障“微操”,让线上问题彻底左移
java·运维·监控
开开心心就好1 小时前
进程启动瞬间暂停工具,适合调试多开
linux·运维·安全·pdf·智能音箱·智能手表·1024程序员节
祭曦念1 小时前
MySQL基础运维:日志基础之慢查询日志与错误日志 | 作用、配置与查看方法全实战
运维·mysql·adb
刚入门的大一新生2 小时前
Linux-Linux基础指令2
linux·运维·服务器
一招定胜负2 小时前
在 Windows 11 家庭版安装 Docker Desktop解决虚拟化问题
运维·docker·容器
hweiyu002 小时前
Linux命令:screen
linux·运维·服务器