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

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

集中管理jeknisfile

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

1、插件下载

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

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

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

实战jenkins多分支流水线pipeline 自动化部署_第1张图片

二、创建多分支流水线pipeline

1、新建

实战jenkins多分支流水线pipeline 自动化部署_第2张图片

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

实战jenkins多分支流水线pipeline 自动化部署_第3张图片 

 

三、创建公用Jenkinsfile

1、新建 Grovy file

实战jenkins多分支流水线pipeline 自动化部署_第4张图片

2、编写自动化脚本

实战jenkins多分支流水线pipeline 自动化部署_第5张图片

 

 

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(针对不同项目的) 路径

举列说明:

实战jenkins多分支流水线pipeline 自动化部署_第6张图片

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

实战jenkins多分支流水线pipeline 自动化部署_第7张图片

 实战jenkins多分支流水线pipeline 自动化部署_第8张图片

实战jenkins多分支流水线pipeline 自动化部署_第9张图片

 

 

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

 

实战jenkins多分支流水线pipeline 自动化部署_第10张图片

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

你可能感兴趣的:(jenkins,自动化,运维)