客户的项目是商城项目,包含 h5 ,技术栈 [email protected] ,pc 管理端 [email protected] ,server 端 Express ,DB Mongo ,基于客户的代码二次开发,增加了两个功能。
开发完成后如何能够在不给源码的前提下,快速启动项目,让客户能够进行验收,如果没有问题,再完成付款,最后交付代码?
我试过使用 ngrok ,但是未付费的情况下,只能开一个端口,因为我这个涉及到 h5 和 pc ,h5 是 8080 ,pc 是 8081 ,所以这个方式也不行;如果是让客户一个一个验证,先用一个端口然后再用一个,体验不好。然后我在本地能够正常运行的前提下,通过 ngrok 启动后, 有个 invalid header 的错误,我没有去修复因为时间比较紧,但是感觉应该在 express 中处理一下,比如一个接受所有请求域名的设置。
所以我想请教一下,有没有更便捷的方式能够完成这个事,或者一劳永逸的事,比如弄个通用 docker 镜像,不知道有没有大佬能够指点一下,给个思路就好,我去实践,最后会形成方案反馈给大家,哈哈哈,如果足够好,可以共享到 GitHub 上,方便其他小伙伴。
1
kidult 2022-03-21 09:44:40 +08:00
你自己没服务器吗?部署在自己服务器上咯
|
2
tomczhen 2022-03-21 09:45:21 +08:00 via Android 2
都收费服务了,付费一下不就完了。
白嫖就白嫖,看你的意思,还“如果足够好”,再由你把关共享到 github ,这不是缺大佬,是缺工具人。 |
3
3dwelcome 2022-03-21 09:47:41 +08:00
都说了是二次开发,那源代码是否泄漏都是次要的。
代码发布前混淆一下,加个在线验证就可以了,确保不会被私用。 你有 mongo db ,再怎么也是需要搭公网服务器的。内网穿透感觉完全不靠谱的样子,找个便宜的 VPS ,搭个正经服务器演示吧。 |
4
renmu123 2022-03-21 09:47:50 +08:00 via Android
你找个服务器部署一下就行了
|
5
yiqiao 2022-03-21 09:49:00 +08:00
你买个 vps 不就得了。按时间收费也行啊。及时关了收不了多少钱
|
6
llccing OP @kidult 有啊,只是觉得操作比较繁琐,流程可能是这样:
1 、客户的源码给我,本地初始化一个 git repo ,GitHub 再初始化一个 private repo 。将本地推到远程。 2 、debug 、push 、debug 。。。。。push 。 3 、ssh 到服务器,git 拉取代码,使用 pm2 启动 server ,使用 nginx 启动 h5 和 pc ,可能还需要配置 nginx 。 4 、然后 阿里云配置域名。 这样一堆操作完成后,好像比如将源码直接给客户,哈哈哈,过于繁琐,也许我可以考虑将上面这个流程自动化是吧…… |
8
zhangleshiye 2022-03-21 10:03:22 +08:00
@llccing 花生壳直接映射个外网就好啊 简单粗暴 emmmm..
|
9
llccing OP @3dwelcome 嗯,可能我这个人比较消极,凡是考虑的会比较多,比如会想到如果我把代码给过去,对方把我微信拉黑,我好像也没有什么办法。害人之心不可有,防人之心不可无。所以还是希望在流程上能够避免这种考验人性的情况出现。
嗯,vps 看来是大家都比较推荐的 |
10
llccing OP @zhangleshiye 嗯,听过这个产品。免费的服务是能够 OK 的是吧,我去试试,谢谢哈
|
13
3dwelcome 2022-03-21 10:13:40 +08:00
单纯从演示角度出发,如果把真实数据库给去掉,用 mockjs api 之类的虚拟数据来替代。
个人感觉给客户做一个 electron 纯客户端演示版本也可以。 把浏览器,nodejs ,演示数据全部打包了。 |
14
llccing OP @3dwelcome 嗯嗯,electron 是个方案,数据库在开发的时候如果就直接用远程的,那么打包 electron 时也方便了
|
15
Chase2E 2022-03-21 10:20:36 +08:00
你直接弄一个阿里云 /腾讯云的服务, 交钱了再给密码把云服务的账户转移给他不就行了...
|
16
hfpp2012 2022-03-21 10:27:01 +08:00
你这是抠得不行,自己买个服务器,要多少钱?赚人家钱,还要一毛不拔?
|
17
wobuhuicode 2022-03-21 10:27:41 +08:00
全栈项目啊,买个服务器部署,再修个维护费多好。
|
18
llccing OP @Chase2E 哈哈哈,总计 1000 块的项目,弄个服务有些大材小用了。不过有一点没明白,是什么服务呢,vps 这种吗,如果是的话,弄个干净的 vps ,然后装上 node.js mongo nginx, 再配置一堆,时间成本还是挺高的。
|
20
yufeng0681 2022-03-21 10:33:09 +08:00
让客户出一个 可部署的网络,他和你都可以访问的
1 、客户的局域网内,服务器, 你远程登录去部署 2 、客户买公有云服务器,你登录上去部署 |
21
ersic 2022-03-21 10:35:35 +08:00
要赚钱,付出适当的成本是必须的。
|
22
dq19871123 2022-03-21 10:36:43 +08:00 via Android
其实短时间免费试用的 vps 也有不少
|
23
jucelin 2022-03-21 10:45:33 +08:00
低价收个闲置服务器,我就收过,看我发的帖子。我也是部署演示用的
|
24
MrTLJH 2022-03-21 10:48:59 +08:00
如果是自己个人接外包的话,确实有不少限制,建议去注册个有限公司,然后买个服务器域名之类的,这些准备做好,以免出现你说的上述问题。
不然就去白嫖个免费试用 vps ,然后部署,不过可能有些功能会被限制,比如说微信支付无法开通。 要不然你就给客户说需要他们提供部署环境,毕竟才收这点钱 |
25
Vindroid 2022-03-21 10:49:24 +08:00
不怕代码泄露的话,可以淘宝 5 块、10 块一个月买个对应环境的虚拟机,也可以自己租个云啊,1C512MB20G 这种的,外网也就 10 刀一年啊
|
26
llccing OP 嗯,我有腾讯云的服务器,2C4G 的,只是在考虑是否有个省时省力的方案能够去掉一些手动的事情,尽量自动化
|
27
C603H6r18Q1mSP9N 2022-03-21 11:01:46 +08:00
你订一个截至时间,比如 3/30 号,for 循环 直接 alert('系统未授权,请联系开发人员')
这样就行了,不用特别折腾 |
28
llccing OP @shanghai1998 哈哈哈,大哥是个段子高手啊
|
29
llccing OP @MrTLJH 主要是我太懒,域名、服务器,都有的,就是在想有没有一种适合懒人的方式。比如本地弄个 docker 镜像,能够直接推到远程,然后远程直接启动,域名啥的是根据某种规则自动匹配到。如果这个有了,那真是方便了
|
33
hlwjia 2022-03-21 11:36:18 +08:00
我觉得光熟悉已有的代码就得超这个预算
|
34
yigecaiji 2022-03-21 11:40:42 +08:00 via Android
开个虚拟机,虚拟机装个 qq ,主机开服务让虚拟机访问,让客户用 qq 远程虚拟机?
|
35
llccing OP @scr jekins 是要在本地跑是吧,否则单独在服务器上跑个 Jenkins ,2G 内存的 vps 估计就要跑满了
|
38
jerrodpoole 2022-03-21 13:25:43 +08:00 via Android
看了下楼主的需求,安利下这个项目: 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. |
39
llccing OP @jerrodpoole 哇,这个工具挺好的,有点类似开源版的 ngrok ,可以支持多个域名,比如同时转 8080 和 8081 。我是本地同时以调试模式起 8080 和 8081 ,然后再用 localtunnel 转发,就是速度有些慢,可能我用 nginx 直接托管静态资源速度应该比访问调试模式快。或者我就是应该把他放到 vps 上……
|
40
indo 2022-03-22 03:51:52 +08:00 via iPhone
gcp 、aws 都有免费服务器。
弄好了自己不是一次 nps ,把域名*解析到服务器上,把 80 、443 端口镜像回家。本地用 nignxproxymanager 做二级域名解析。 我的习惯是不穿透,服务器上 docker 部署 npm 用 host 模式接管服务器的 80 、443 端口。代码 pm2 部署到服务器上去。 |
41
kkocdko 2022-03-22 08:37:49 +08:00 via Android
请搜索关键词:“内网穿透”。有一大堆免费方案,localhost.run 等等。
|
42
kiritoxf 2022-03-22 09:41:41 +08:00
感觉最简单的是,本机开发环境启动,然后让客户用 qq 之类的远程连接到你电脑上操作。
|
43
sunorg 2022-03-22 10:27:23 +08:00
问题是 1k ,不先收了再做?????
|