首页 > 其他分享 >gitlab推送代码触发jenkins构建

gitlab推送代码触发jenkins构建

时间:2023-04-03 14:33:39浏览次数:44  
标签:仓库 gitlab 获取 构建 branch jenkins 推送 分支

预期:推送devloop或者master分支的代码, 自动执行jenkins 发布测试环境

  1. 首先,jenkins中需要安装如下插件

  2. 打开一个任务配置,构建触发器中勾选"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

此时已经可以正常触发了;

  1. 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,获取,构建,branch,jenkins,推送,分支
From: https://www.cnblogs.com/hi-lijq/p/17282972.html

相关文章

  • freeipa 与jenkins的集成
    背景:参照:Freeipa的简单搭建配置,完成一下与jenkins的简单集成,用户组与权限的简单配置!freeipa与jenkins的集成先说一下实现目标与规划:jenkins项目任务区分以环境开头qa-xxx是qa服务器任务develop-xxx为开发环境任务,当然了还可以有master-xxxmaster环境任务!这里主要是演示......
  • vue+webSocket+springCloud消息推送交互
    一、后台代码:1、pom里面加上依赖;<!--webSocket坐标依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><version>2.2.4.RE......
  • 如何申请iOS推送证书p12文件并配置极光推送平台
    ​编辑切换为居中添加图片注释,不超过140字(可选)极光推送平台需要上传配置开发测试的iOS推送证书(开发环境)和上架到AppStore的iOS推送证书(生产环境)。以下是申请这两个环境的推送证书p12文件的教程:创建APPID时勾选推送服务,如果已经有APPID并开启了推......
  • 安装GItlab-Runner
    安装GItlab-Runner安装最新的Git2.0以上版本,版本低很容易报错https://ius.io/setupyuminstall\https://repo.ius.io/ius-release-el7.rpm\https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm-yyumsearchgityuminstallgit224-ygit......
  • Centos7 离线安装Gitlab-ce
    Gitlab-ce的安装确认gitlab对应依赖的包是否安装 policycoreutils-pythonopenssh-servercronie可用以下命令查询系统中是否已安装对应的依赖包[root@jws-gitlab~]#[root@jws-gitlab~]#rpm-qa|greppolicycoreutils-pythonpolicycoreutils-python-2.5-34.el7.x86_6......
  • SHELL创建钉钉群接入机器人推送报警信息(text消息类型)
    步骤一:获取自定义机器人Webhook选择需要添加机器人的群聊,然后依次单击群设置 > 智能群助手。在机器人管理页面选择自定义机器人,输入机器人名字并选择要发送消息的群,同时可以为机器人设置机器人头像。 完成必要的安全设置,勾选我已阅读并同意《自定义机器人服务......
  • jenkins 内置变量
    目录jenkins内置变量环境变量邮件的配置变量环境变量jenkins内置变量jenkins有一些内置的变量可以使用。主要是:邮件的配置变量,可以在发送邮件的时候使用。环境变量邮件的配置变量${GIT_BRANCH}-build的Git分支${FILE,path="xxx"}-xxx为指定的文件,文件内容可以在......
  • jenkins 彩色日志显示
    目录jenkins彩色日志显示转自jenkins彩色日志显示示例:这里用到ansiColor插件,在Jenkins输出有颜色的日志信息流水线语法的生成ansiColor('xterm'){//someblock}tools.groovypackageorg.devops//格式化输出defPrintMes(value,color){colors=['red'......
  • 百度普通收录API提交token推送在线版+随机URL生成+抓取内页URL工具
    普通收录:百度站长平台官方给出的使用说明如下1、普通收录工具可以向百度搜索主动推送资源,缩短爬虫发现网站链接的时间,不保证收录和展现效果。2、API提交和手动提交共享配额......
  • Docker compose 部署的Jenkins如何更新版本
    转载于Docker部署的Jenkins如何更新版本呢_Tomonkey的博客-CSDN博客_dockerjenkins升级在这之前,使用docker-compose部署了docker,其中的脚本配置如下。1.安装Jenkinsdocke......