首页 > 其他分享 >Jenkins流水线风格pipeline

Jenkins流水线风格pipeline

时间:2022-09-01 22:22:42浏览次数:48  
标签:pipeline 代码 Pipeline sh steps 流水线 Jenkins

Jenkins流水线风格pipeline

pipeline介绍

什么是pipeline

Jenkins 2.0的精髓是Pipeline as Code,是帮助Jenkins实现CI到CD转变的重要角色。什么是Pipeline,简单来说,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程。Pipeline的实现方式是一套Groovy DSL,任何发布流程都可以表述为一段Groovy脚本,并且Jenkins支持从代码库直接读取脚本,从而实现了Pipeline as Code的理念。

Pipeline 概念

Pipeline 是一个用户定义的 CD 流水线模式。Pipeline 代码定义了通常包含构建、测试和发布步骤的完整的构建过程。
Node
node 是一个机器,它是 Jenkins 环境的一部分,并且能够执行 Pipeline。同时,node 代码块也是脚本式 Pipeline 语法的关键特性。
Stage
Stage 块定义了在整个 Pipeline 中执行的概念上不同的任务子集(例如“构建”,“测试”和“部署”阶段),许多插件使用它来可视化或呈现 Jenkins 管道状态/进度。
Step
一项任务。从根本上讲,一个步骤告诉 Jenkins 在特定时间点(或过程中的“步骤”)要做什么。例如,使用 sh step:sh 'make' 可以执行 make 这个 shell 命令。

pipeline语法

声明式 脚本式
脚本式语法格式:
pipeline{
    agent any
    stages{
        stage("获取代码"){
           steps{
               checkout([$class: 'GitSCM', branches: [[name: '${git_tag_version}']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '28cc4e79-c852-482b-8804-4302f9b3a537', url: '[email protected]:root/hello-world.git']]])
           }
        }
        stage("代码质量检测"){
            steps{
                sh label: '', script: '''mvn sonar:sonar \\
  -Dsonar.projectKey=665532b2cf9f8fa1e534b192f913cdc1b6906451 \\
  -Dsonar.host.url=http://10.0.0.93:9000 \\
  -Dsonar.login=665532b2cf9f8fa1e534b192f913cdc1b6906451'''
            }
        }
        stage("编译代码"){
            input {
                message "你想要继续编译代码么?"
                ok "整~"
            }
            steps{
                sh label: '', script: 'mvn clean package'
            }
        }
        stage("部署代码"){
            steps{
                sh label: '', script: '/bin/sh -x /var/lib/jenkins/scripts/deploy_hello.sh'
            }
        }
    }
}


1.从gitlab中把代码拉到Jenkins机器上
2.进入Jenkins机器的工作目录
3.先编译代码
4.发送代码到web
5.解压代码
6.做软链接
---
- hosts: all
  vars:
    - name: zls
  tasks:
  - name: xxx
    file:
      path: xxx
      state: touch
      owner: xxx
      mode: 0755

标签:pipeline,代码,Pipeline,sh,steps,流水线,Jenkins
From: https://www.cnblogs.com/wangchengww/p/16648018.html

相关文章

  • jenkins报错
    课前回顾Jenkins的插件安装Jenkins插件管理页面各大镜像源手动安装,下载hpi文件Jenkinsfreestyle风格请简述至少三个Jenkinsjob的自动构建策略,并连接一种策略实现......
  • jenkins发布到nuget
    提出问题生成的nuget包名字不确定怎么办?解决问题使用*.nupkg匹配全部dotnetnugetpush-shttp://localhost:18103/v3/index.json*.nupkg--skip-duplicate参考d......
  • Jenkins配置下载插件源;
    Jenkins系统管理中的插件非常重要,因为Jenkins的工作全部靠插件的方式来完成,但是Jenkins插件默认从国外下载,速度会非常慢,如果没有梯子可能还会无法访问,所以需要在安装插件......
  • windows jenkins openssh 集成问题
    最近项目需要使用windowsopenssh的一些能力解决一些问题,按照一般的安装方法,肯定是使用最新版本的,但是安装之后通过ssh客户端的确是可以正常的链接,但是通过jenkins链接......
  • jenkins-配置python
    1.进入"Dashboard"界面,点击左侧"构建执行状态"2.点击列表设置图标3.勾选"Environmentvariables",点击"新增",输入环境变量【名称和python路径】,点击保存4.查看......
  • jenkins 钉钉机器人插件
    官方文档:https://jenkinsci.github.io/dingtalk-plugin/guide/getting-started.html#%E6%B3%A8%E6%84%8F注意:系统配置时可收到通知,但是在构建项目时没有收到通知,不确定......
  • jenkins 上传文件参数
    注意:文件参数不支持Jenkins流水线文件上传以后会上传至workspace里对应的project下面,但是文件会被重命名为Filelocation(设置路径)输入库的值,如果在jenkins中继续......
  • Jenkins基础安装
    Jenkins基础安装Jenkins介绍Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可......
  • Jenkins 踩坑 | job 创建、参数化、定时构建及时区偏差问题解决
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取1)启动Jenkins后在首页点击"开始创建一个新任务"。2)输入任务名称,选择自由风格,点击“确定”。......
  • Jenkins 踩坑(三)| Email 配置与任务邮件发送
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取在系统管理->插件管理中下载插件:1.通过网页端QQ邮箱的设置进入到邮箱客户端设置页面。2.......