2019-8-30-Jenkins-配置自动合并-release-分支到-master-分支
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
Jenkins 配置自动合并 release 分支到 master 分支
|
lindexi
|
2019-08-30 08:54:58 +0800
|
2018-09-13 17:31:38 +0800
|
Jenkins
|
本文告诉大家如何在 Jenkins 配置合并到 release 的内容自动合并到 gitlab 的 master 分支
首先需要两个仓库,一个是 gitlab 的仓库,另一个是 Jenkins 的仓库
先在 Jenkins 仓库做配置,首先设置 Source Code Management 选择自己需要的仓库和设置好的账号
然后在 Branches to build 添加分支,这里需要将 release 合 master 所以就填写 release 就可以
在 Additional Behaviours 添加三个值,一个是 Clean before checkout 这样可以清空仓库,第二个是 Prune stale remote-tracking branches 让本地和远程同步。
注意,第二个 Prune stale remote-tracking branches 很重要,如果有小伙伴上传了这样两个分支
t/lindexi
t/lindexi/github
那么即使小伙伴在上传第一个分支之后,删除了第一个分支再上传第二个分支,可能 Jenkins 也无法加载
第三个就是 Merge before build 请看图片,设置仓库是哪个,设置推送的分支
为了在用户推送的时候合并,就需要在 Build Triggers 添加 Build when a change is pushed to GitLab. 这样就可以添加 web hook 在打钩之后可以看到下面有一个链接,如下面是我的链接,这个链接会在之后设置到 gitlab 所以暂时需要记下
https://newci.gz.lindexi.cn/project/lindexi/github_merge_release_to_dev
这里可以通过很多个设置,在 Push Events 执行这个仓库或者在 Accepted Merge Request Events 执行,可以全部打钩
下面就是 Build 这里可以写编译的内容,我下面执行了一些代码
只有在编译成功我才可以让 release 合并到 master 分支,如果编译不成功就不能合并
在 Post-build Actions 添加 Git Publisher 功能,第一个是 Push Only If Build Succeeds 也就是在上面的 Build 编译成功之后才会执行
点击 Add Branch 添加一个新的合并分支,需要从 release 合并到 master 就可以和我下面一样写,如果是从 release 合并到 dev 分支就自己在下面写 dev 就可以
点击保存就设置完成,下面就是设置 gitlab 让 gitlab 可以支持 Jenkins 推送
点击设置成员,添加 Jenkins 成员
点击 Integrations 添加 webhook 这里需要填写刚才 Jenkins 的链接,我的链接是 https://newci.gz.lindexi.cn/project/lindexi/github_merge_release_to_dev 大家可不要没事就来攻击我的服务器
填写之后需要勾选 Push events 这样有人上传就可以自动合并 release 到 master 而不需要自己手动合并
在添加之后可以看到有 Test 按钮,点击可以模拟一个 push 的测试
点击测试看 Jenkins 是否自动执行,如果有就是设置成功
可能因为合并的 master 分支没有推送,需要点击 repository 设置 Protected Branches 允许 maintainers 推送,设置 Jenkins 的账号是 maintainers 这样就可以推送
可能这时会发现没有 GitLab: This deploy key does not have write access to this project 可以在 repository 设置 Deploy Keys 请看下面
具体设置请看 Using GIT deploy key in Jenkins
使用jenkins+gitlab进行CI - haungtengxiao
2019-8-30-Jenkins-配置自动合并-release-分支到-master-分支的更多相关文章
- Jenkins 配置自动合并 release 分支到 master 分支
本文告诉大家如何在 Jenkins 配置合并到 release 的内容自动合并到 gitlab 的 master 分支 首先需要两个仓库,一个是 gitlab 的仓库,另一个是 Jenkins 的仓库 ...
- jenkins配置自动发送邮件,抄送
1.安装插件.系统管理-安装插件:可选插件:搜索Email Extension 2.设置全局变量.系统管理-系统设置:a.Jenkins Location 设置发送方邮件--- b.Extended ...
- Jenkins配置自动发送邮件,成功!
Jenkins自动发送邮件配置: 打开"系统管理"--"系统设置" 在"Jenkins Location"设置系统管理员地址(重要:不能省略 ...
- Jenkins配置自动打包 -- 遇到的坑
1.把gradle路径设为本地路径 Jenkins部署在远程linux服务器上,使用git将代码下载到服务器路径下后,无法使用gradle命令 因为默认配置都是gradle同步时 实时从网上下载,进入 ...
- jenkins配置自动发送邮件
1.开通QQ的SMTP服务,需要发一条短信,qq会给你一个密码(不是你的QQ邮箱密码哦) 2.安装 Email Extension Plugin 插件 3.进入系统管理--系统设置 3.1按照如下图设 ...
- jenkins配置自动部署java程序
任务背景 该项目包含4个程序包:a.jar,b.jar,c.jar,d.jar,每次启动前需要修改程序中的配置文件(修改数据源配置),然后按照先后顺序启动. 任务目标 1.利用jenkins拉取代码, ...
- [Jenkins] Jenkins配置自动构建时间代表意义
- jenkins配置自动执行sql脚本
shell脚本: bigsql="select big_version,small_version from d0mstore.db_current_version order by big ...
- 环境部署(八):jenkins配置邮件通知
完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...
随机推荐
- Android欢迎页短暂白屏
在style中application theme下添加以下代码: <item name="android:windowIsTranslucent" >true</ ...
- 【JZOJ6342】Tiny Counting
description analysis 首先不管\(a,b,c,d\)重复的情况方案数是正逆序对之积 如果考虑\(a,b,c,d\)有重复,只有四种情况,下面括号括起来表示该位置重复 比如\(\{a ...
- 校园商铺-4店铺注册功能模块-5店铺注册之Service层的实现
1. 创建接口 ShopService.java package com.csj2018.o2o.service; import java.io.File; import com.csj2018.o2 ...
- 树形dp——cf1010D
一个点的改变如果对根节点的值不会造成任何影响,那么这个点的所有子节点的改变也不会对根节点造成影响 因为每次只改一个叶子节点,也就是一条到根的路径,可以先预处理出初始情况下的每个结点的值 分别讨论根节点 ...
- 用VC++MFC做文本编辑器(单文档模式)
用VC++MFC做文本编辑器(单文档模式) 原来做过一个用对话框实现的文本编辑器,其实用MFC模板里面的单文档模板也可以做,甚至更加方便,适合入门级的爱好者试试,现介绍方法如下: < xmlna ...
- Cocos2d-x通过Jni实现C++与Java相互调用
在cocos2dx项目中与运营平台(java sdk)对接时使用了JNI. 通过C++调用Java 在JniUtil.h文件中如下实现: #ifndef _JNIUTIL_H_ #define _JN ...
- import socket模块
编写两个小脚本实现聊天功能0.1: 脚本一,服务器端:server.py import socket # 调用模块 sk = socket.socket() # 创建socket addess = ( ...
- Java学习之Java历史版本
Java有三个版本,标准版Java SE,企业版Java EE,移动版Java ME.按理来说,每一种版本都会有自己的版本号,但是约定俗成:JDK版本号=Java SE版本号=Java版本号,这是因为 ...
- selenium基础(鼠标和键盘事件)
selenium鼠标和键盘的操作事件 webdriver常见的几种操作方法 clear():清楚文本文字 send_keys(values):模拟按键输入,values是输入的内容 click():单 ...
- (转)Linux使用RSA密钥登录远程服务器
一切操作都在本机执行,不需要进入远程主机/服务器~~ 1.生成密钥.默认生成的是rsa加密. ssh-keygen 2.私钥是给本地的,公钥是给远程的.下面将公钥上传到远程服务器 ~ ssh-copy ...