BlueRoseNote/03-UnrealEngine/流程管理与部署/VPS服务部署/Gitea通过WebHooks与TeamCity、Jenkins实现测试与构建流程.md
2023-06-29 11:55:02 +08:00

1.9 KiB
Raw Blame History

#TODO

Jenkins通过命令行启动Ue4的自动测试框架

https://www.emidee.net/ue4/2018/11/13/UE4-Unit-Tests-in-Jenkins.html 好像可以通过 命令行来启动Ue4的自动测试框架

基础过程 https://patricevignola.com/post/automation-jenkins-unreal

GitHook

Git hooks是基于事件的。当你执行特定的git指令时该软件会从git仓库下的hooks目录下检查是否有相对应的脚本如果有就执行。

有些脚本是在动作执行之前被执行的这种“先行脚本”可用于实现代码规范的统一、完整性检查、环境搭建等功能。有些脚本则在事件之后被执行这种“后行脚本”可用于实现代码的部署、权限错误纠正git在这方面的功能有点欠缺等功能。

安装一个钩子

钩子都被存储在Git目录下的hooks子目录中。也即绝大部分项目中的.git/hooks。当你用git init初始化一个新版本库时Git 默认会在这个目录中放置一些示例脚本。这些脚本除了本身可以被调用外,它们还暴露了被触发时所传入的参数。这些示例的名字都是以 .sample 结尾,如果想启用它们,移除这个后缀即可。

把一个正确命名且可执行的文件放入 Git 目录下的 hooks 子目录中,即可激活该钩子脚本。这样一来,它就能 被 Git 调用。

第三方选择使用

Gitlab Webhooks

Webhooks 允许第三方应用监听 GitLab 上的特定事件,在这些事件发生时通过 HTTP POST 方式通知( 超时5秒) 到第三方应用指定的 Web URL。 例如项目有新的内容 Push或是 Merge Request 有更新等。 WebHooks 可方便用户实现自动部署,自动测试,自动打包,监控项目变化等。

webhooks, 可以在 pull request / merge master 等几个场景下, 设置异步回调通知(http 请求)。这个背后就是 git hooks 在起作用。

因此,利用 WebHooks 的特性,可配合 Jenkins 实现一系列的自动化任务。