如何快速交付外包小项目

2022-03-21 09:40:20 +08:00
 llccing

背景:

客户的项目是商城项目,包含 h5 ,技术栈 Vue+Vant@2.x ,pc 管理端 Vue+ElementUI@2.x ,server 端 Express ,DB Mongo ,基于客户的代码二次开发,增加了两个功能。

问题:

开发完成后如何能够在不给源码的前提下,快速启动项目,让客户能够进行验收,如果没有问题,再完成付款,最后交付代码?

我试过使用 ngrok ,但是未付费的情况下,只能开一个端口,因为我这个涉及到 h5 和 pc ,h5 是 8080 ,pc 是 8081 ,所以这个方式也不行;如果是让客户一个一个验证,先用一个端口然后再用一个,体验不好。然后我在本地能够正常运行的前提下,通过 ngrok 启动后, 有个 invalid header 的错误,我没有去修复因为时间比较紧,但是感觉应该在 express 中处理一下,比如一个接受所有请求域名的设置。

所以我想请教一下,有没有更便捷的方式能够完成这个事,或者一劳永逸的事,比如弄个通用 docker 镜像,不知道有没有大佬能够指点一下,给个思路就好,我去实践,最后会形成方案反馈给大家,哈哈哈,如果足够好,可以共享到 GitHub 上,方便其他小伙伴。

4426 次点击
所在节点    程序员
48 条回复
ersic
2022-03-21 10:35:35 +08:00
要赚钱,付出适当的成本是必须的。
dq19871123
2022-03-21 10:36:43 +08:00
其实短时间免费试用的 vps 也有不少
jucelin
2022-03-21 10:45:33 +08:00
低价收个闲置服务器,我就收过,看我发的帖子。我也是部署演示用的
MrTLJH
2022-03-21 10:48:59 +08:00
如果是自己个人接外包的话,确实有不少限制,建议去注册个有限公司,然后买个服务器域名之类的,这些准备做好,以免出现你说的上述问题。
不然就去白嫖个免费试用 vps ,然后部署,不过可能有些功能会被限制,比如说微信支付无法开通。
要不然你就给客户说需要他们提供部署环境,毕竟才收这点钱
Vindroid
2022-03-21 10:49:24 +08:00
不怕代码泄露的话,可以淘宝 5 块、10 块一个月买个对应环境的虚拟机,也可以自己租个云啊,1C512MB20G 这种的,外网也就 10 刀一年啊
llccing
2022-03-21 10:52:27 +08:00
嗯,我有腾讯云的服务器,2C4G 的,只是在考虑是否有个省时省力的方案能够去掉一些手动的事情,尽量自动化
C603H6r18Q1mSP9N
2022-03-21 11:01:46 +08:00
你订一个截至时间,比如 3/30 号,for 循环 直接 alert('系统未授权,请联系开发人员')
这样就行了,不用特别折腾
llccing
2022-03-21 11:05:28 +08:00
@shanghai1998 哈哈哈,大哥是个段子高手啊
llccing
2022-03-21 11:19:15 +08:00
@MrTLJH 主要是我太懒,域名、服务器,都有的,就是在想有没有一种适合懒人的方式。比如本地弄个 docker 镜像,能够直接推到远程,然后远程直接启动,域名啥的是根据某种规则自动匹配到。如果这个有了,那真是方便了
scr
2022-03-21 11:21:43 +08:00
@llccing 试试 jenkins ?弄一次熟练之后,后面就方便了
llccing
2022-03-21 11:23:34 +08:00
@scr 嗯嗯,可以啊,是不是 GitHub action 也行。这种工具应该要学一下的
scr
2022-03-21 11:35:16 +08:00
@llccing github action 到推到国内服务器的话,比较慢。
hlwjia
2022-03-21 11:36:18 +08:00
我觉得光熟悉已有的代码就得超这个预算
yigecaiji
2022-03-21 11:40:42 +08:00
开个虚拟机,虚拟机装个 qq ,主机开服务让虚拟机访问,让客户用 qq 远程虚拟机?
llccing
2022-03-21 13:14:22 +08:00
@scr jekins 是要在本地跑是吧,否则单独在服务器上跑个 Jenkins ,2G 内存的 vps 估计就要跑满了
llccing
2022-03-21 13:15:05 +08:00
@yigecaiji 哈哈哈,这个有意思,是不是也可以直接远程我本地……
llccing
2022-03-21 13:15:32 +08:00
@hlwjia 嗯,确实项目比较简单,否则也不能接
jerrodpoole
2022-03-21 13:25:43 +08:00
看了下楼主的需求,安利下这个项目: https://github.com/localtunnel/localtunnel
相关命令:
npm install -g localtunnel
lt --port 8000
命令运行后会分配一个临时域名给你,这个域名会把请求转发到你本地 http(s)服务,好用的话回来谢我😉


Thats it! It will connect to the tunnel server, setup the tunnel, and tell you what url to use for your testing. This url will remain active for the duration of your session; so feel free to share it with others for happy fun time!

You can restart your local server all you want, lt is smart enough to detect this and reconnect once it is back.
llccing
2022-03-21 13:55:55 +08:00
@jerrodpoole 哇,这个工具挺好的,有点类似开源版的 ngrok ,可以支持多个域名,比如同时转 8080 和 8081 。我是本地同时以调试模式起 8080 和 8081 ,然后再用 localtunnel 转发,就是速度有些慢,可能我用 nginx 直接托管静态资源速度应该比访问调试模式快。或者我就是应该把他放到 vps 上……
indo
2022-03-22 03:51:52 +08:00
gcp 、aws 都有免费服务器。
弄好了自己不是一次 nps ,把域名*解析到服务器上,把 80 、443 端口镜像回家。本地用 nignxproxymanager 做二级域名解析。

我的习惯是不穿透,服务器上 docker 部署 npm 用 host 模式接管服务器的 80 、443 端口。代码 pm2 部署到服务器上去。

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

https://www.fyfyfm.apispeedy.workers.dev/t/841759

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

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

© 2021 V2EX