有人像我一样讨厌本地无法运行起来的项目的吗?

331 天前
 RedisMasterNode

交接过来的项目本地运行不了,看代码能上手但是调试效率很低,不知道每个接口运行进来是怎么走的,每个方法返回了什么数据,最终如何形成整体的大响应 Body 。

最搞笑的是并不是因为又什么历史包袱,而是说,测试环境跑也可以,本地写点单测。

什么鬼逻辑...合着报问题了直接本地跑一下看看执行路径不香?测试环境找不到问题的时候反复加 log 部署调试很好玩?

球球了做个人吧,是真的有人觉得线上看日志调试比本地 Debug 快吗?

PS:防杠叠保护甲,并不是那种一两个接口,逻辑究极简单的项目。不说多复杂,起码也是个正常规模复杂度的项目:

9256 次点击
所在节点    程序员
68 条回复
RedisMasterNode
330 天前
@wws2023 这怎么都到解决办法了,没道理要解决的啊,维护能调试的程序是开发者的职责
Adelell
330 天前
只要原代码在手里,别人能跑起来,我就能跑起来。原因无非就是依赖包的版本不对。
jqtmviyu
330 天前
@Curiosity777 #9 重写 url 或者 host, 我是用 charles
lstz
330 天前
挺讨厌的

如果这个公司连 CICD 都不配,那我选择跑路。 如果有配 CICD ,那就是我的问题,我服输
dcoder
330 天前
你们抱怨归抱怨, 但是用微服务的组, 本地项目跑不起来的情况很多...
xuanbg
330 天前
不明白为什么在测试环境能跑起来的代码本地跑不起来。哪怕是微服务也一样能本地作为一个服务实例加入到测试环境,并且让网关把请求转发到你本地。这样不就可以打上断点进行调试了吗?

说实在的,有些问题光看日志莫名其秒的,打个断点一下就清楚问题在哪里以及为什么了。
InDom
330 天前
我们的项目,甚至发布只能以整个系统打包的方式交付(灌装)。

还是后来才整了个软件化部署,但最后还是以灌装方式发布...
amon
330 天前
其实就是喜欢掌控和确定性,讨厌失控和不确定性。
ecloud
330 天前
哈哈哈。本司的产品是基于 Nacos+Webflux+Pulsar+Powerjob+redis+PG 这套复杂的“微服务”。本地全起来能让你机器爆炸。起一部分的话只能用假数据扔 Pulsar 。之前 dev 环境的 Nacos 总被私服注册,研发团队内部经常互骂。最近单开了一个给大家随便玩的 Nacos ,终于算是和谐了一丢丢
ecloud
330 天前
@xuanbg 技术上没毛病,流程上不允许。比如我们用 Nacos 调度微服务的。QA 环境的 Nacos 开放注册的话,你随便开个私服就把别人的给顶了,到时候一个请求就被均分到两个服务上了。虽然理论上所,开私服的人应该先把原有服务停掉,干完了自己的活再把私服注销,原服务恢复。但是,你怎么能保证每个人都做到。张三刚开了私服挂上去,因为个什么紧急的事情被叫去开会了。李四在调试他自己的服务的时候发现发出去的请求都消失了,找谁说理去?
ecloud
330 天前
@willx12123 比如 java 来说,openjdk 默认没有远程 debug 的 agent ,然后 rancher 的健康检查会因为你断点了就自动重启容器。那么,你搞一个远程调试的容器,其配置就要特化。那么这个特化的容器跟生产环境就不一样了,到时候出了啥问题又要扯皮。测试说我反正在这个容器里测试是正常的,研发说我代码肯定没错,运维说原则上这点容器的差别不影响你程序……
Curtion
330 天前
本地运行不了一般都是缺少运行时环境,尝试看能不能本地部署或者 hook 一下
pocarisweat
330 天前
12 factor app 是不是已经没人当回事了?

1. 基准代码
一份基准代码,多份部署
2. 依赖
显式声明依赖关系
3. 配置
在环境中存储配置
4. 后端服务
把后端服务当作附加资源
5. 构建,发布,运行
严格分离构建和运行
6. 进程
以一个或多个无状态进程运行应用
7. 端口绑定
通过端口绑定提供服务
8. 并发
通过进程模型进行扩展
9. 易处理
快速启动和优雅终止可最大化健壮性
10. 开发环境与线上环境等价
尽可能的保持开发,预发布,线上环境相同
11. 日志
把日志当作事件流
12. 管理进程
后台管理任务当作一次性进程运行
Shanee
330 天前
如果是因为 web hooks 跑不起来的话, 可以用 ngrock
lisongeee
330 天前
相比之下前端在这方面就好多了,甚至都不用下载到本地打开

大多数组件库文档现在都支持在浏览器实时修改并预览代码

甚至还能在浏览器运行 nodejs 程序实时执行项目打包
11232as
330 天前
本地改代码,上传 git ,上堡垒机编译机编译,上堡垒机开发 Server 热更新,然后测试,然后发现有问题...
开远程 Debug 需要走权限因为开发 Server 被丢到生产网段去了,打 Log 也痛苦,整个流程搞下来 10 分钟起步...
BlackSiao
330 天前
确实,这种搞起来超级难受
securityCoding
330 天前
习惯了
xwwsxp
330 天前
@11232as 你们自己搭建一套 devops 啊 ;不然,效率太慢了
CynicalRose
330 天前
Java 的微服务项目,几十个微服务环境关联,根本没法本地调试,必须要部署到 dev 或者 test 环境。已经将就好几个月麻木了😫

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

https://tanronggui.xyz/t/1021909

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

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

© 2021 V2EX