专栏首页小白AI.易名3天学会Jenkins_10_gitlab or github代码提交后自动构建1

3天学会Jenkins_10_gitlab or github代码提交后自动构建1

转载注明出处,欢迎关注微信小程序小白AI博客 微信公众号小白AI或者网站 https://xiaobaiai.net或者我的CSDN https://blog.csdn.net/freeape

1 背景

在多人团队开发中,经常会涉及到将分支代码合并到主干分支的操作,而待合并分支是否能够编译通过,是否能够正常运行,每次需要开发人员主动去测试后才放心将其合并,而这一繁琐还可能会出现遗漏的过程可以通过Jenkins实现自动化,实现自动测试待合并分支,并将结果最及时反馈给相关人员。

2 Gitlab Hook插件

一个允许Jenkins构建合并请求的插件。此插件获取GitLab合并请求信息和目标分支,并通过构建参数使它们可用于构建项目。构建完成后,Jenkins将对合并请求发表评论,指示合并请求是否成功。

要求:

  • 服务主机预安装有Git工具,用于获取仓库代码
  • 安装有GitGitlab插件

3 准备

  • 安装好Gitlab Hook插件
  • 确保Jenkins用户存在于GitLab中并且可以访问存储库
    • Jenkins配置gitlab的access token
    • gitlab assecc token的生成需要去Gitlab->Setting->Access Tokens
    • 输入NameExpries at,勾选api,点击生成Access Token
    • Jenkins->Manage Jenkins->Configure System->Gitlab面板
    • 设置好连接名,Gitlab主机URL,Jenkins API Token填写Gitlab上生成的Token,将Enable authentication for置成未勾选状态,然后可以点击Test Connection测试是否连接成功;
    • 点击保存

4 新建Pipeline项目模拟实现自动构建

  • 新建一个Pipeline项目
  • 勾选并设置好Build Triggers面板
  • 然后在Pipeline面板中书写需要自动化构建的脚本(这里测试,就写了Helloworld,还可以使用Jenkensfile,下节介绍)
  • 点击保存,并复制Build Triggers中的webhook URL地址,这里是http://10.11.172.213:8085/project/autobuild_for_gitlab_project_jenkins_test
  • 到Gitlab具体项目中,设置Jenkins中webhook URL地址
  • 点击Save,然后点击Test hook可以主动触发钩子到Jenkins,如果成功,则Jenkins会执行对应的Pipeline项目

注意:只有Gitlab的owner或者master才有设置web hooks的权限。普通开发人员是无法看到设置项的。

5 后续

将Gitlab与Jenkins打通,通过上述设置,只要Gitlab设置了Webhook的项目,一旦提交了commit,则会触发钩子,执行构建任务。具体的构建内容,比如编译代码还是部署和发布之类的都可以通过编写Jenkinsfile代码来实现。

本文分享自微信公众号 - 别打名名(biedamingming),作者:别打名名

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 3天学会Jenkins_4_创建用户并管理用户权限之安装角色策略插件

    通常,在大型组织中,会存在多个独立的团队来管理和运行Jenkins的工作,但管理这些用户并为他们分配角色可能会很麻烦。

    别打名名
  • 3天学会Jenkins_Jenkin与CI(Continuous Integration,持续集成)?

    持续集成(Continuous Integration)即是发生在每一次的代码提交后,立即开始软件的构建(Build)和测试(Test),在一个拥有许多开发人员...

    别打名名
  • 3天学会Jenkins_3_Jenkins Github&Gitlab集成之安装Git插件

    上一节已经安装并初始化完成Jenkins,接下来我们熟悉Jenkins的插件管理。

    别打名名
  • CI-持续集成(2)-软件工业“流水线”技术实现

    1   概述 持续集成(Continuous Integration)是一种软件开发实践。在本系列文章的前一章节已经对其背景及理论体系进行了介绍。本小节则承接前...

    用户1170933
  • 全局替换字体?微信出品官方Sketch插件试试看~

    最近静Design的QQ群有小伙伴问,有没有可以全局替换文本字体颜色等等属性的插件呢?这个真的是非常需要的功能啊。有时候我们打开其他人的设计稿Sketch源文件...

    用户5009027
  • 从 Jenkins Master 扩展网络连接

    Oleg Nenashev 和我今年将在旧金山的 DevOps World | Jenkins World 上,做"从 Jenkins Master 扩展网络连...

    LinuxSuRen
  • CentOS 7服务器下用命令行安装VMware workstation pro 15,并安装系统的简单教程

    sudo chmod +x VMware-Workstation-Full-15.0.0-10134415.x86_64.bundle

    拓荒者
  • elasticsearch ERROR: bootstrap checks failed 异常处理

    修改XX-nproc.conf  (不同机器XX不一样,可先到 cd /etc/security/limits.d/ 查看下)

    用户1409099
  • 既得利益者的灭顶之灾:当数字货币结合证券...

    区块链大本营
  • 动力系统建模和性能评估

    动力系统建模分为四部分:螺旋桨建模、电机建模、电调建模、电池建模。模型所有输入,如表中所示。为了简化本节课讲解,螺旋桨参数可以归为为拉力系数和转矩系数。

    小飞侠xp

扫码关注云+社区

领取腾讯云代金券