当前位置: 首页 > news >正文

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'

}

 


http://www.mrgr.cn/news/83026.html

相关文章:

  • 2020 年 12 月青少年软编等考 C 语言五级真题解析
  • moviepy 将mp4视频文件提取音频mp3 - python 实现
  • Linux初识——基本指令
  • Requests-数据解析bs4+xpath
  • 【0385】Postgres内核 OS 磁盘上创建 slot ( 3 - 1 )
  • STM32-笔记38-I2C-oled实验
  • STM32-DMA数据转运
  • R语言装环境Gcc报错以及scater包的安装
  • (七)人工智能进阶之人脸识别:从刷脸支付到智能安防的奥秘,小白都可以入手的MTCNN+Arcface网络
  • 用Python实现简单的任务自动化
  • SQL从入门到实战
  • 【WPF】使用BitmapImage给Image的Source赋值,并释放原占用资源,避免删除原文件时导致程序崩溃
  • Vue 组件开发:构建高效可复用的 UI 构建块
  • 数据库语句学习
  • 51c大模型~合集102
  • 121 买入股票的最佳时机
  • 【cuda学习日记】2.1 2D matrix操作
  • Apache Traffic存在SQL注入漏洞(CVE-2024-45387)
  • docker 常用命令实践DEMO
  • Power BI如何连接Azure Databricks数据源?