Centos7 Jenkins Pipline 浅入浅出

本文详细介绍了在Centos7环境下使用Jenkins Pipeline进行自动化部署的过程,包括安装配置、编写Pipeline脚本实现代码克隆、编译打包及远程部署等关键步骤。

准备工作

Jenkins

正式开始

安装插件

  • 登录Jenkins后台-系统管理-插件管理- 可选插件-Pipeline Maven Integration Plugin-直接安装
  • 回到Jenkins首页,新建任务,就可以看到,可以构建一个流水线的任务了。
    在这里插入图片描述

新建任务

  • 新建一个名为test-xxl-job-admin-pipline的流水线任务
    在这里插入图片描述

案例

  • 接下来尝试发布一个项目,以开源的一个java程序xxl-job(定时任务调度)为例
  • 代码仓库的URL为https://github.com/xuxueli/xxl-job.git
  • 首先我们要分解一下发布一套代码的步骤,大概如下
    ①通过git clone拉取代码
    ②通过maven编译打包java代码
    ③通过java命令启动jar包

Pipline

①配置test-xxl-job-admin-pipline
在这里插入图片描述
②移到最下方Pipline脚本处
在这里插入图片描述
③编写Pipline脚本(),

  • 格式可以仿照网上的,内容需要根据自己实际情况来写,例如我希望从https://github.com/xuxueli/xxl-job.git 拉取代码,那么我不会写pipline脚本怎么办,jenkins提供了pipline语法生成器
    在这里插入图片描述
    -选择git:Git
    在这里插入图片描述
    -输入项目代码地址,因为这个项目是开源的,所有用户都可以clone(如果是公司的项目,那肯定有gitlab的账号密码),点击生成即可
    在这里插入图片描述
Clone的脚本
pipeline {
    agent any
    environment {
    REVISION = "0.0.${env.BUILD_ID}"
  }
    options{
        disableConcurrentBuilds()
        skipDefaultCheckout()
        timeout(time: 1, unit: 'HOURS')
        timestamps()
    }
    parameters{
        string(name: 'PERSON', defaultValue: '测试-字段输入', description: '请输入中文')
        booleanParam(name: 'xxl_job_admin', defaultValue: true, description: '是否发布xxl_job_admin')
        }
    stages {
        stage ("Clone") {
          //
            steps{
                script{
                    if ( params.xxl_job_admin== true ){
                        echo "${params.xxl_job_admin}"
                        echo "xxl_job_admin为选中状态"
                        echo "开始拉取代码"
                        git 'https://github.com/xuxueli/xxl-job.git'
                    }
                    else {
                        echo "xxl_job_admin未选中状态,跳过"
                    }
                }
            }
        }
    }
}
  • 保存,运行任务-Build with Parameters
    在这里插入图片描述
  • 查看控制台输出- Console Output在这里插入图片描述
  • 就可以看到正在拉取了,第一次拉取是比较慢,因为外网拉取。对此,我建议,自建gitlab,然后将代码clone到自己的gitlab(提高代码clone速度),后期再自建nexus私服(提高编译时候拉取依赖包的速度)。
    在这里插入图片描述
  • 那么Clone 就到此为止了
Build编译打包脚本
  • 因为clone下来是3个文件夹,而我们只需要打包xxl-job-admin就可以,所以我们只要进入xxl-job-admin再进行打包
    在这里插入图片描述
  • 下面是脚本
pipeline {
    agent any
    environment {
    REVISION = "0.0.${env.BUILD_ID}"
  }
    options{
        disableConcurrentBuilds()
        skipDefaultCheckout()
        timeout(time: 1, unit: 'HOURS')
        timestamps()
    }
    parameters{
        string(name: 'PERSON', defaultValue: '测试-字段输入', description: '请输入中文')
        booleanParam(name: 'xxl_job_admin', defaultValue: true, description: '是否发布xxl_job_admin')
        }
    stages {
        stage ("Clone") {
          //
            steps{
                script{
                    if ( params.xxl_job_admin== true ){
                        echo "xxl_job_admin为选中状态"
                        echo "开始拉取代码"
                        git credentialsId: 'db8f1b2a-a0e1-40e2-8be5-840300cd5d0b', url: 'http://git.mifaqianbao.cn:8090/mifa/stib/java/xxl_job_admin.git'
//sh "sudo -u ${tenant} ${url}/${tenant}/deploy.sh stib_data ${choice} ${Branch}"
                    }
                    else {
                        echo "xxl_job_admin未选中状态,跳过"
                    }
                }
            }
        }
        stage ("Build") {
            steps{
                script{
                    if ( params.xxl_job_admin== true ){
                        echo "xxl_job_admin为选中状态"
                        echo "开始编译代码"
                        sh "cd xxl_job_admin && mvn clean package -Dmaven.test.skip=true"
                    }
                    else {
                        echo "xxl_job_admin未选中状态,跳过"
                    }
                }
            }
        }
    }
}
  • 保存后构建即可,可以看到我第一次编译用了3分16秒,第二次仅仅用了9秒钟
    在这里插入图片描述
    · 打包脚本就到此为止了
传输启动脚本
  • 接下来就是将编译好的包传输到目标主机并启动,这个就很简单了,无非就是scp,kill,start。
  • 这就自己琢磨好了,思路就是这样,简简单单。也可以将步骤分解的再细致一点。类似的脚本在上一篇文档中有
    Centos7 Git+Jenkins+Maven发布

结束语

有疑问的话 欢迎留言,随时滴滴。基本上工作日的时候都会看一下。

赞赏码

在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大锅霍皮久

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值