jenkins多分支流水线使用

背景

需实现如下功能:
1、可通过GitLab的Webhooks触发jenkins进行构建。
2、项目中多分支的内容进行相对应的构建,如:开发分支内容构建至开发环境;测试分支构建结果进行存储,等待测试人员进行手动更新;线上分支构建结果进行存储,等待负责人进行手动更新。

一、创建jenkins任务

1、新增任务

在这里插入图片描述

2、输入任务名称、选择类型

在这里插入图片描述

3、输入系统别名、选择源

在这里插入图片描述

4、配置git源信息

在这里插入图片描述

5、设置项目中Jenkinsfile文件的名称。

当jenkins检测到分支内容发生变化后,将读取根目录下该文件的内容,进行后续操作。
在这里插入图片描述

6、没必要存储很多旧的构建记录

在这里插入图片描述

7、上诉配置完成后,点击保存即可。

二、创建jenkinsfile

1、项目中创建jenkinsfile文件

在项目根目录下创建【by Jenkinsfile】时填写的名称,本示例中填写的是(jenkinsfile)

2、jenkinsfile文件内容

jenkinsfile中使用以下模板,其中除了【变量配置处】的路径需要修改外,还需要修改【secretToken】,【secretToken】作为gitlab触发Webhooks的安全凭证,可为任意值。

pipeline {
    agent any

		environment{
			// 变量配置处
			ENV_DEV_PATH = "/web/front-prison/assessment-management/" //开发dist放置开发环境位置
			ENV_MASTER_PATH = "/data/master/wisdom-jail/v1.0/assessment-management" //线上环境dist代码放置位置
			ENV_TEST_PATH = "/data/test/wisdom-jail/v1.0/assessment-management" //测试环境dist代码放置位置
		}

		triggers {
		//配置gitalb的Webhooks信息
		  gitlab(triggerOnPush: true, triggerOnMergeRequest: false, branchFilterType: 'All',secretToken:"goiwnqoih12342134h121235o")
    }
    stages {
        stage('dev-build') {
					when {
						branch "dev"
					}
            steps {
                sh 'npm config set registry https://registry.npm.taobao.org'
                sh 'npm i node-sass --unsafe-perm --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/'
                sh 'npm install --unsafe-perm'
                sh 'npm run build:238'
                //使用SSH文件传输
                sshPublisher(publishers: [sshPublisherDesc(configName: '开发服务器', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: env.ENV_DEV_PATH, remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'dist/**')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
            }
        }
        stage('master-build') {
					when {
						branch "master"
					}
            steps {
              sh 'npm config set registry https://registry.npm.taobao.org'
              sh 'npm i node-sass --unsafe-perm --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/'
              sh 'npm install --unsafe-perm'
              sh 'npm run build:76'
              sh 'cp -rf dist '+env.ENV_MASTER_PATH
            }
        }
        stage('test-build') {
					when {
						branch "test"
					}
            steps {
              sh 'npm config set registry https://registry.npm.taobao.org'
              sh 'npm i node-sass --unsafe-perm --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/'
              sh 'npm install --unsafe-perm'
              sh 'npm run build:76'
              sh 'cp -rf dist '+env.ENV_TEST_PATH
            }
        }
    }
}

三、配置GitLab中的Webhooks

1、查看jenkinsfile配置结果

在这里插入图片描述

2、查看开发分支的Webhooks地址

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

3、填写GitLabs触发构建地址和安全凭证

在这里插入图片描述

四、测试结果

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值