gitlab推送代码触发jenkins构建
预期:推送devloop或者master分支的代码, 自动执行jenkins 发布测试环境
首先,jenkins中需要安装如下插件

打开一个任务配置,构建触发器中勾选"Build when a change is pushed to GitLab."并过滤指定分支, 这里需要记下GitLab webhook URL一会儿配置到gitlab上


3.gitlab中添加配置

4.点击测试 ok

如果提示403,一般描述为Error 403 anonymous is missing the Job/Build Permission
解决方法:
系统管理-->系统设置-->去掉 Enable authentication for '/project' end-point

此时已经可以正常触发了;
- pipeline配置发布时使用传输过来的分支
def createVersion() {
// 定义一个版本号作为当次构建的版本,输出结果 年月日_构建ID
return new Date().format('yyyyMMdd') + "_${env.BUILD_ID}"
}
if(env.gitlabBranch != null) { //如果gitlab自动构建传过来的分支参数不为空
env.branch = env.gitlabBranch //则将传输过来的分支重新赋值给branch变量
echo "自动构建的代码分支是========【 $branch 】"
} else {
echo "branch ==============【 $branch 】"
}
pipeline {
agent any
environment { // 在 environment 引入上边定义的函数,以便于全局调用
_version = createVersion()
}
stages {
stage('拉取代码'){
steps{
git branch: '${branch}', credentialsId: '用户凭据', url: '代码地址'
}
}
}
}
成功

当GitLab通过插件触发构建时,会根据GitLab发送的JSON有效负载设置各种环境变量.您可以在整个作业配置中使用这些.可用的变量有:
gitlabBranch 获取提交到 gitlab 仓库的当前分支名
gitlabSourceBranch 当用户合并分支时,获取要合并的 gitlab 源分支名
gitlabActionType 获取当前 gitlab 操作类型,如:NOTE, PUSH, MERGE
gitlabUserName 获取提交到 gitlab 仓库的用户名称
gitlabUserUsername 获取提交到 gitlab 仓库的用户用户名
gitlabUserEmail 获取提交到 gitlab 仓库的用户邮箱地址
gitlabSourceRepoHomepage 获取提交到 gitlab 源仓库地址
gitlabSourceRepoName 获取提交到 gitlab 源仓库名
gitlabSourceNamespace 获取提交到 gitlab 源仓库的命名空间
gitlab推送代码触发jenkins构建的更多相关文章
- VSCODE 使用gitlab 推送代码的简单总结
1. 前提条件: 有一个gitlab 服务器 自己的windows机器上面已经形成了 ssh key 以及进行了 gitlab global config 的配置 能够正常联系gitlab数据库 2. ...
- Gitlab自动触发Jenkins构建打包
一.目的 在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目.当然在构建后还可以添加项目部署或者自动化测试的脚本.这里只针对测试环境. 二. ...
- Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送
实现Gitlab事件自动触发Jenkins构建及钉钉消息推送 实践环境 GitLab Community Edition 12.6.4 Jenkins 2.284 Post build task 1. ...
- Jenkins教程(七)实现 GitLab 提交/合并代码触发构建
楔子 最近公司推行统一构建平台(基于 Jenkins + Kubernetes 插件创建 slave),原来部门自建的 Jenkins 不让用了. 迁移上统一构建平台的最大阻力是前端模块发布的问题: ...
- jenkins定位GitLab推送的最新Webhook中push event来自哪一个分支
转载请标明出处:http://www.cnblogs.com/zblade/ 一.调研目的 jenkins可以和GitLab搭档,每当GitLab上有commit的时候,都可以触发jenkins执行相 ...
- 配置GitLab Push 自动触发Jenkins构建
配置GitLab Push 自动触发Jenkins构建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客是对之前的笔记:https://www.cnblogs.com/yin ...
- 持续集成之④:GitLab触发jenkins构建项目
持续集成之④:GitLab触发jenkins构建项目 一:目的为在公司的测试环境当中一旦开发向gitlab仓库提交成功代码,gitlab通知jenkins进行构建项目.代码质量测试然后部署至测试环境, ...
- Git提交代码自动触发JenKins构建项目
1.需求场景 用户提交代码后自动触发jenkins构建项目 流程图如下: 2.JenKins安装Gitlab Hook Plugin插件 3.JenKins配置 4.Gitlab Hook Plugi ...
- GitLab 自动触发 Jenkins 构建
GitLab 是当前应用非常广泛的 Git Hosting 工具,Jenkins 是非常牛逼的持续集成工具.尽管 GitLab 有内建的 GitLab CI,但它远没有 Jenkins 那么强大好用. ...
- gitlab安装、下载、推送 代码(推荐)
环境: 内存必须5G以上 centos7.5 服务端:192.168.0.74 客户端:192.168.0.73 GitLab的安装 1.在CentOS系统上,下面的命令将会打开系统防火墙HTTP和S ...
随机推荐
- docker容器中部署 kafka 和 elk
1.下载zookeeper docker pull wurstmeister/zookeeper 2.下载kafka docker pull wurstmeister/kafka:2.11-0.11. ...
- 每日一库:GORM简介
GORM(Go Object-Relational Mapping)是一个用于Go语言的ORM库,它提供了一种简单.优雅的方式来操作数据库.GORM支持多种数据库,包括MySQL.PostgreSQL ...
- 关于git的几点疑问
git rename后查看之前的记录 对于某个文件进行rename之后,使用show log命令查看之前的修改记录都会丢失,通过命令行方式进行mv之后,在tortoisegit中查看记录还是丢失的 g ...
- numpy数组拼接方法介绍(concatenate)---一次性完成多个数组的拼接
1.数组拼接方法一 思路:首先将数组转成列表,然后利用列表的拼接函数append().extend()等进行拼接处理,最后将列表转成数组. 示例1: >>> import numpy ...
- paddleNLP-BUG和一些细节记录【一】
1.TypeError: isfile() takes 1 positional argument but 2 were given File "/root/miniconda3/envs/ ...
- C/C++ Npcap包实现数据嗅探
npcap 是Nmap自带的一个数据包处理工具,Nmap底层就是使用这个包进行收发包的,该库,是可以进行二次开发的,不过使用C语言开发费劲,在进行渗透任务时,还是使用Python构建数据包高效,这东西 ...
- layui下拉框可手动输入
先看效果 layui版本:layui@2.8.17 HTML代码: <div class="layui-form-item"> <label class=&quo ...
- Intel酷睿Ultra隆重登场:28W能效逆天!AI性能领先竞品5.4倍
作为Intel 1971年首款微处理器4004诞生以来变革幅度最大的产品,代号Meteor Lake的第一代酷睿Ultra今天终于正式发布了!相关笔记本.迷你机产品也会陆续发布上市. 有关于酷睿Ult ...
- OSW Analyzer分析oswbb日志发生异常
具体OSW Analyzer详细介绍可以参考MOS文档: OSWatcher Analyzer User Guide (Doc ID 461053.1) 我们常用的就是拿到一份osw数据到自己电脑,使 ...
- Delphi库单元结构
单元(unit)是组成Pascal 程序的单独的源代码模块,单元由函数和过程组成,这些函数和过程能被主程序调用. 一个标准的单元文件格式如下: unit Unit1: //单元头 interface ...