实战jenkins多分支流水线pipeline 自动化部署

实战jenkins多分支流水线 自动化部署

集中管理jeknisfile

一、安装jenkins相关插件,我这里有完整的插件包

1、插件下载

完整插件包,也可自行在jenkins插件管理中下载安装

 切记: 每次改动插件前先备份 jenkins home目录下的plugins

不要问为什么,会给你节省很多时间

二、创建多分支流水线pipeline

1、新建

2、指定多分支流水线使用的jenkinsfile

 

 

三、创建公用Jenkinsfile

1、新建 Grovy file

2、编写自动化脚本

 

 

3、脚本代码 

#!/usr/bin/env groovy
import groovy.transform.Field

@Field def job_name=""

node()
{
    // 获取当前job名称。也可以按需自定义
    job_name="${env.JOB_NAME}".replace('%2F', '/').split('/')
    job_name=job_name[0]
  	def rootDir = pwd()
  	echo "${rootDir}--${job_name}--${JOB_NAME}------${env.JOB_NAME}-----${BRANCH_NAME}-----${env.BRANCH_NAME}"
    // 自定义workspace
    workspace="workspace/${job_name}/${env.BRANCH_NAME}"

    ws("$workspace")
    {
        dir("pipeline")
        {   
            // clone Jenkinsfile项目
            checkout scmGit(branches: [[name: '*/dev']], extensions: [], userRemoteConfigs: [[credentialsId: 'git-root', url: 'https://gitlab.you.com/gitlab/devops/pipeline.git']])

            // 根据job name、构建分支,自动加载对应的Jenkinsfile
            def check_groovy_file="Jenkinsfile/${job_name}/${env.BRANCH_NAME}/Jenkinsfile"
            load "${check_groovy_file}"
        }
    }
}

注: 上述脚本 这段需要改成自己实际的地址配置

 checkout scmGit(branches: [[name: '*/dev']], extensions: [], userRemoteConfigs: [[credentialsId: 'git-root', url: 'https://gitlab.you.com/gitlab/devops/pipeline.git']])

credentialsId: 'git-root' 改成你实际拉取代码的密钥账号

url: 'https://gitlab.you.com/gitlab/devops/pipeline.git' 改成你实际的jenkinsFile(针对不同项目的) 路径

举列说明:

创建一个集中管理jenkinsfile的仓库,也是上面公用jenkinsfile url需要拉取的地址

 

 

 

如果需要这些脚本就前往下载

 

创作不易,请多多支持点赞!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值