创建jenkins Pipeline流水线

11 篇文章 0 订阅

创建jenkins Pipeline流水线

Pipeline 脚本是由 Groovy 语言实现的,但是我们没必要单独去学习 Groovy

Pipeline 支持两种语法:Declarative(声明式)和 Scripted Pipeline(脚本式)语法

Pipeline 也有两种创建方法:可以直接在 Jenkins 的 Web UI 界面中输入脚本;也可以通过创建一
个 Jenkinsfile 脚本文件放入项目源码库中(一般我们都推荐在 Jenkins 中直接从源代码控制(SCM)
中直接载入 Jenkinsfile Pipeline 这种方法)。

1.安装Pipeline插件

在“插件管理”中的选择“可选插件”输入“Pipeline”,点击安装。

image-20220209094450213

安装插件后,创建项目多了“流水线”类型

image-20220209094539397

Pipeline快速开始

1.Declarative声明式-Pipeline

创建项目

image-20220209094821362

流水线->选择HelloWorld模板

生成内容如下:

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

**stages:**代表整个流水线的所有执行阶段,通常stages只有1个,里面包含多个stage。

**stage:**代表流水线中的某个阶段,可能出现n个,一般分为拉取代码,编译构建,部署等阶段。

**steps:**代表一个阶段内需要执行的逻辑,steps里面是shell脚本,git拉取代码,ssh远程发布等人以内容。

编写一个简单声明式Pipeline:

pipeline {
    agent any

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

点击“保存”,“应用”,点击构建,可以看到整个构建过程

image-20220209095729498

2.Scripted Pipeline脚本式-Pipeline

创建项目

image-20220209095944243

选择“Scripted Pipeline ”

image-20220209100023039

node {
    def mvnHome
    stage('Preparation') { // for display purposes
       
    }
    stage('Build') {
       
    }
    stage('Results') {
       
    }
}

**Node:**节点,一个Node就是一个jenkins节点,Master或者Agent,是执行step的具体运行环境,后续讲到jenkins的Master-Slave架构的时候用到。

**stage:**阶段,一个Pipeline可以换份为若干个stage,每个stage代表一组操作,比如:Build,Test,Deploy,Stage是一个逻辑分组的概念。

**Step:**步骤,Step是最基本的操作单元,可以是打印一句话,也可以是构建一个Docker镜像,由各类jenkins插件提供,比如命令:sh ’make‘,就相当于我们平时shell终端中执行make命令一样。

编写一个简单的脚本式Pipeline

node {
    def mvnHome
    stage('拉取代码') { // for display purposes
       echo '拉取代码'
    }
    stage('编译构建') {
       echo '编译构建'
    }
    stage('项目部署') {
       echo '项目部署'
    }
}

点击保存应用,点击立即构建。

image-20220209101016245

3.使用流水线代码生成器

使用Declarative声明式-Pipeline演示

点击流水线语法

image-20220209101505003

点击片段生成器

image-20220209101737100

输入仓库URL,和凭证,选择指定分支后,点击生成流水线语法

image-20220209101928937

将生成的流水线脚本放到拉取代码中

image-20220209102142820

选择片段生成器,选择sh:shell Script脚本,输入“mvn clean package”构建命令,点击生成流水线脚本。

image-20220209102423621

将生成的编译脚本放到编译构建步骤中

image-20220209102608042

再根据此步骤,生成一个运行jar包的脚本

image-20220209151606981

pipeline {
    agent any

    stages {
        stage('拉取代码') {
            steps {
                echo '拉取代码'
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: '9cc8889a-154c-4f46-8547-456070c985ad', url: 'http://101.35.161.133:8010/dev-group/web_demo.git']]])
            }
        }
        stage('编译构建') {
            steps {
                echo '编译构建'
                sh 'mvn clean package'
            }
        }
        stage('项目部署') {
            steps {
    
                echo '项目部署'
          
                sh 'JENKINS_NODE_COOKIE=dontKillMe nohup java -jar ./target/*.jar --server.port=8080 -> d.log 2>&1 &'
                echo '部署成功'
            }
        }
    }
}

**注意:**有时需要将某个命令放到后台执行,然后并行或者异步执行其他命令,但在jenkins上很容易遇到无法真正将命令放到后台运行的问题,原因是Pipeline在推出node的时候,会默认清理自己发出的每个shell命令,即使使用了nohub,可以在命令执行的时候加上“JENKINS_NODE_COOKIE=dontKillMe”将不会清除命令。

点击“保存应用”,点击立即构建。

image-20220209152605852

去服务器查看进程是否存在。

image-20220209152641626

可以看到进程存在。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Jenkins中新建流水线,有两种方法可以选择。第一种方法是在Jenkins的Web UI界面中输入脚本,可以直接编辑创建流水线的步骤和配置信息。第二种方法是通过创建一个Jenkinsfile脚本文件放入项目源码库中,然后在Jenkins中从源代码控制(SCM)中载入Jenkinsfile来创建流水线。这种方法一般被推荐使用。 在开始创建流水线之前,首先需要安装Pipeline插件,这个插件提供了用于构建流水线的功能。你可以在Jenkins插件管理界面中搜索并安装Pipeline插件。 请注意,具体的创建步骤和配置信息会根据你的具体项目需求而有所不同,你可以根据你的项目的特点和要求来自定义你的流水线。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [jenkins搭建流水线项目](https://blog.csdn.net/A_art_xiang/article/details/119636234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [创建jenkins Pipeline流水线](https://blog.csdn.net/chaochao2113/article/details/122843413)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值