求问 drone 面对前后端分离的 repo 如何做自动化构建?

2022-01-05 13:40:51 +08:00
 xlsepiphone

Gitea 上有两个 repo ,一个存储的前端 React 的代码,另外一个是后端 SpringBoot 的代码。

在本机的构建步骤如下:

目前遇到的问题主要是,drone 的收到的 gitea 的 webhook 事件是针对单个 repo 的,比如我 push 到前端的 repo 。此时会触发前端的构建。

由于我不想把两个项目放在一个 repo ,那对于这种存在依赖的项目构建,该如何处理?

我目前想到的解决方案:

我觉得我的解决方案,有点多此一举的感觉,但又苦于没有更佳的方法。

862 次点击
所在节点    问与答
6 条回复
maichael
2022-01-05 13:44:22 +08:00
这是那门子的前后端分离……
“复制 dist 文件夹到后端目录,后端执行 ./gradlew bootjar 生成 jar 包”,只要把这步去掉,让前端代码和后端代码除了接口调用之外不存在任何关系,你的问题自然就迎刃而解。
xlsepiphone
2022-01-05 13:46:31 +08:00
@maichael #1 前端代码内嵌到 jar 包中的,小项目,方便部署管理。
xlsepiphone
2022-01-05 13:48:57 +08:00
@maichael #1 如果没有更好的办法,我会尝试不内嵌在里面,因为是小项目,不想再搞个 nginx 来单独部署前端的项目,直接用 SpringBoot 内嵌了。
maichael
2022-01-05 13:59:32 +08:00
@xlsepiphone #3

可以尝试一下用 http://plugins.drone.io/drone-plugins/drone-downstream/ ,前端触发“测试->构建->触发后端 Repo 部署”。
xlsepiphone
2022-01-05 14:00:17 +08:00
好吧,问题解决。找到一个 drone 的下游触发器插件 plugins/downstream ,这样不用在 shell 中执行 drone 的 cli 来触发了。
xlsepiphone
2022-01-05 14:01:11 +08:00
@maichael #4 谢谢,我也 Google 到,才回复结贴,老哥就已经先我一步。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/826326

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX