热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

怎么把项目推到gitlab上_Gitlab利用Webhook+jenkins实现自动构建与部署

之前部署了Gitlab的代码托管平台和Jenkins的代码发布平台。通常是开发后的代码先推到Gitlab上管理,然后在Jenkins里通过脚本构建代码发布。这种方式每

0063b5165ed25475767632d2ffd8dc67.gif

之前部署了Gitlab的代码托管平台和Jenkins的代码发布平台。通常是开发后的代码先推到Gitlab上管理,然后在Jenkins里通过脚本构建代码发布。

这种方式每次在发版的时候,需要人工去执行jenkins上的构建动作,有时显得过于繁琐。于是就想到了Gitlab的Webhook功能,通过Webhook的相关设置,可以实现代码Push后,自动去触发jenkins上的构建动作,这样就不需要人工干预去执行发版操作了。设置如下:

1)Jenkins上的操作

通常,jenkins在项目配置时是可以配置远程构建触发器,设置好jenkins的回调url后就可以让jenkins进行自动构建。这就需要先下载Gitlab Hook Plugin 插件。登陆Jenkins,分别点击"系统管理"->"插件管理"->"可选插件",选择Gitlab Hook Plugin02851260f96ee3ac26ddff6ba51903ba.png然后构建相应的项目工程,比如下面的test-wx(下面最关键的是第2步中查看url,然后用这个url回调地址去Gitlab的webhook上添加)

a)先设置代码的git下载路径,这里通过ssh方式(需要提前将Jenkins本机的key添加到Gitlab上)a3ac5e16467b43ff0faab0c7290c8117.pngb)查看jenkin生成回调地址。在任务重构建触发器下获取回调URL。下面的URL那一行只有Gitlab Hook Plugin插件下载成功后才能显示。a2cb9e52ef85f8d8cdd7bc47b22257b4.pngc)然后设置代码发布的推送脚本bf3ea883b1662d8aa926495d884a5521.png

2)Gitlab上的操作

登陆Gitlab上的testwx3项目中,添加webhook(用上面Jenkins中生成的回调url)80a693e07d269707774208173293a0f5.png然后点击这个项目的"Settings"4a686283f2b45b2e5a5a8619db03ce00.png21590cd9b9ee0ad55ab8add8b02d7dad.png添加成功后,点击此webhook后面的test进行测试a9f22e92c477e392f3eacacb364de581.png

如果返回Hook successfully executed.表示配置成功。这样,下次push代码后,就会自动触发jenkins上相关的构建工程进行自动发布了!无需人工干预~865664ced1433e493d01166aa9d08b10.png如上设置后,比如在gitlab的testwx3项目代码库中push一个test.txt文件,然后测试下是否自动发布了d6b9fa958ff8102b6b36845edba6e3d6.png

然后去Jenkins上查看,如下发现已经自动发布了!23238c98caaffe44f758ece1a2a67144.png

最后去目标机器192.168.1.19的/tmp/testwx目录下发现test.txt文件已经发布过来了~a6a731cf6e7655f6746d707114f66662.png

https://www.cnblogs.com/kevingrace/p/6479813.html

- END -

往期精彩文章推荐:

4个运维流程平台设计思路

让你秒懂 DevOps !

架构师究竟比高级开发厉害在哪?

学习 Ansible Playbook,有这篇文章就够了!

Jenkis pipeline构建项目实践-编写podTemplate实现和k8s对接

Linux故障排查思路,有这篇文章就够了

如何用Prometheus和Grafana监控Kubernetes集群?

Kubernetes 高可用方案

Kubernetes日志输出方式与采集方案

K8S HPA 基于 Prometheus Metrics

Kubernetes 污点与容忍详解
使用GitLab CI和Docker自动部署SpringBoot应用

一篇文章全面了解运维监控知识体系

2020年最值得推荐的7种 Kubernetes 日志管理工具

技术交流群

为了大家更快速的学习知识,掌握技术,随时沟通交流问题,特组建了技术交流群,大家在群里可以分享自己的技术栈,抛出日常问题,群里会有很多大佬及时解答的,这样我们就会结识很多志同道合的人,长按下图可加我微信,备注运维或者k8s或者devops即可进群,让我们共同的努力,向着美好的未来出发吧~~~,想要免费获取各个版本的k8s高可用集群的安装视频或者其他的免费视频,也可进群获取哈~~     

                              扫码加群?

0a005145bd574a29cdcdb9ac442fcc1c.png

微信:justso656

微信公众号

               长按指纹关注公众号?

099ee229a105cb140ba30d2ff1a772bb.png



推荐阅读
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文详细介绍如何在Linux系统中配置SSH密钥对,以实现从一台主机到另一台主机的无密码登录。内容涵盖密钥对生成、公钥分发及权限设置等关键步骤。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 本文详细介绍了如何在BackTrack 5中配置和启动SSH服务,确保其正常运行,并通过Windows系统成功连接。涵盖了必要的密钥生成步骤及常见问题解决方法。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • Git管理工具SourceTree安装与使用指南
    本文详细介绍了Git管理工具SourceTree的安装、配置及团队协作方案,旨在帮助开发者更高效地进行版本控制和项目管理。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 本文详细介绍如何通过设置SSH密钥来获取连接GitHub远程仓库的权限,包括生成密钥、添加到GitHub账户以及验证连接等步骤。 ... [详细]
  • 本文探讨了如何在发布 XenApp 应用时,通过命令行参数实现启动时的参数传递。特别介绍了静态和动态参数传递的方法,并详细解释了 ICA 文件中两种参数传递方式的区别及安全检查机制。 ... [详细]
author-avatar
念念念念念子-璃_908
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有