使用jenkins实现自动拉取码云代码,实现自动化部署

简介: 紧接着上文说起,咱们这次来完成基于jenkins的自动化部署,也就是当有新的代码推送就会触发自动构建。上一节我们已经实现了手动部署,大部分基础配置都已完成,不了解的可以先回顾下。。。。 基于jenkins实现手动拉取码云代码,实现半自动化部署要实现自动化部署,其实这部分操作非常简单,只需要配置好构建触发器以及触发的事件即可。

紧接着上文说起,咱们这次来完成基于jenkins的自动化部署,也就是当有新的代码推送就会触发自动构建。

上一节我们已经实现了手动部署,大部分基础配置都已完成,不了解的可以先回顾下。。。。 基于jenkins实现手动拉取码云代码,实现半自动化部署

要实现自动化部署,其实这部分操作非常简单,只需要配置好构建触发器以及触发的事件即可。

本文要达到的具体目标:使用jenkins实现自动化部署

ps:我的服务器:CentOs8 Linux

计划了几个想要达到的目标

  • 在自己的机器上跑起来 done
  • 使用jenkins将码云上的git仓库拉到服务器 done
  • 将代码拉到服务器后,可以手动触发构建、部署 done
  • 完成自动化部署 done
  • 开发一个自己的插件,具体做啥还没想好
  • 待定...

触发器配置


打开一个我们创建好的项目,打开任务配置的触发器构建选项:Configure -> Build Triggers 选项卡

53dff30b018074b6b3865253f4fe89e6_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

Enabled Gitee triggers 勾选你所需要的构建触发规则, 如 Push Event, Opened Merge Request Events,勾选的事件会接受WebHook,触发构建。

目前支持触发事件有:

  • Push Events :推送代码事件
  • Opened Merge Request Events :提交 PR 事件
  • Updated Merge Request Events :更新 PR 事件
  • Accepted Merge Request Events :接受/合并 PR 事件
  • Closed Merge Request Events :关闭 PR 事件
  • Approved Pull Requests :审查通过 PR 事件
  • Tested Pull Requests :测试通过 PR 事件

Enable [ci-skip] 该选项可以开启支持 [ci-skip] 指令,只要commit message 中包含 [ci-skip],当前commit 即可跳过构建触发。

目前我自己只选择了 Push Events和提交PR事件,其他的暂时还不用不到。

另外还可以设置webHook验证token,其中 Secret Token for Gitee WebHook 该选项可以配置 WebHook 的密码,该密码需要与 Gitee WebHook配置的密码一致方可触发构建。

拿到触发器URL


在上一步其实已经能拿到 gitee WebHook URL,这里着重说下。

打开 Configure -> Build Triggers 选项卡,地址已生成好。

f048a19cc2bf2a18e7d4ef3f5b211ae6_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

仓库关联


我们需要将上面的 WEBHOOK URL 和对应的仓库进行关联。

打开码云中的仓库,进入 设置(settings) -> WebHooks

  • 添加 WebHook, URL 填写上一步我们得到的 WEBHOOK URL
  • 密码填写:如果在Jenkins中配置了WebHook密码,不设密码可以不填
  • 勾选 PUSH, Pull Request 事件
  • 测试推送触发构建
    在Gitee 仓库的 WebHook 中选择勾选了PUSH的 WebHook 点击测试,观察 Jenkins 任务的构建状态
    在Gitee 仓库中编辑一个文件并提交,观察 Jenkins 任务的构建状态
    af1dc7f057a84a1e9d83dc0ca8f72bce_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png
目录
相关文章
|
3天前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
|
7天前
|
jenkins Java 持续交付
Gitee+Jenkins+SonarQube代码上线的实战操作
通过以上步骤,就可以实现基于Gitee、Jenkins和SonarQube的代码上线流程,确保代码的质量和上线过程的自动化和可控性。在实际操作中,可以根据项目的具体需求和环境进行适当的调整和优化。
|
12天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
42 3
|
22天前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
1月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
32 5
|
1月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
1月前
|
jenkins 持续交付 开发工具
【10月更文挑战第1天】通过jenkins选择tag完成代码上线
【10月更文挑战第1天】通过jenkins选择tag完成代码上线
|
22天前
|
运维 监控 jenkins
运维自动化实践:利用Jenkins实现高效CI/CD流程
【10月更文挑战第18天】运维自动化实践:利用Jenkins实现高效CI/CD流程
|
23天前
|
运维 持续交付 开发工具
基础设施即代码(IaC):自动化基础设施管理的未来
基础设施即代码(IaC):自动化基础设施管理的未来
31 0
|
3月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
82 1