jenkins-Pipeline语法

Jenkins的Pipeline语法

1.Pipeline 是Jenkins 2.X核心特性,帮助Jenkins实现从CI到CD与DevOps的转变
2.Pipeline 简而言之,就是一套运行于Jenkins上的工作流框架, 将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的
复杂流程编排与可视化。

Pipeline 支持两种语法

声明式和脚本式是结果一样的

1.声明式(jenkins2.5新加入的语法)推荐使用

pipeline {
   
    agent any
   #  stages前面可以写代理。docker环境加到流水线中来,
   #  也可以加入一些环境 maven等,或者工具
    stages {   # stages 步骤 一般只有一个,可以有多个stage
   #stage代表流水线中的某个阶段,可能出现n个。一般分为拉取代码,编译构建,部署等阶段
        stage('Hello') {
   #steps 步骤执行,用来编写步骤
            steps {  
                echo 'Hello World'
            }
        }
    }
}

我们自己编写一下

pipeline { 
 agent any 
 stages { 
    stage('拉取代码') {
        steps { echo '拉取代码' } 
     }
    stage('编译构建') { 
        steps { echo '编译构建' } 
    }
    stage('项目部署') {
         steps { echo '项目部署' } 
    } 
 } 
}

在Jenkins里面保存运行,可以看到日志打印,在主页可以看到 执行时间与执行日志
在这里插入图片描述

2.脚本式

跟上面其实是差不多的,两种风格目标是一样的
#Node:节点,一个 Node 就是一个 Jenkins 节点,Master 或者 Agent,
#      是执行 Step 的具体运行环境,后续讲到Jenkins的Master-Slave架构的时候用到。
node {

    def mvnHome
#Stage:阶段,一个 Pipeline 可以划分为若干个 Stage,每个 Stage 代表一组操作,比如:
      #Build、Test、Deploy,Stage 是一个逻辑分组的概念。
    stage('Preparation') { // for display purposes
        // Get some code from a GitHub repository
        git 'https://github.com/jglick/simple-maven-project-with-tests.git'
        // Get the Maven tool.
        // ** NOTE: This 'M3' Maven tool must be configured
        // **       in the global configuration.
        mvnHome = tool 'M3'
    }
    stage('Build') {
        // Run the maven build
        withEnv(["MVN_HOME=$mvnHome"]) {
            if (isUnix()) {
                sh '"$MVN_HOME/bin/mvn" -Dmaven.test.failure.ignore clean package'
            } else {
                bat(/"%MVN_HOME%\bin\mvn" -Dmaven.test.failure.ignore clean package/)
            }
        }
    }
    stage('Results') {
        junit '**/target/surefire-reports/TEST-*.xml'
        archiveArtifacts 'target/*.jar'
    }
}

node { 
  def mvnHome 
  stage('Preparation') { 
      echo '项目部署'
  }
  stage('Build') {
     echo '项目部署'
  }
  stage('Results') {
     echo '项目部署'
  } 
}

脚本示范

在这里插入图片描述

  1. 生成检出脚本

在这里插入图片描述

  1. 打包命令
    在这里插入图片描述
  2. 上传代码,这个只有在Jenkins下载对应的插件才有
    在这里插入图片描述
    Containers Tomcat 这里是可以增加多台的,如果是集群服务,可以多台新增

更加详细的Pipeline介绍

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值