CodeLauncher · 我们做了一个 macOS 上的后端开发服务器进程管理工具

2022-01-03 19:00:44 +08:00
 Livid

大部分的现代 Web 开发框架,都需要启动一个进程,然后当你改了什么东西的时候,它就自动 build 或者重启。

所以我们为了自己每天的需求,做了一个管理工具 CodeLauncher ,用来启动那些本地开发时需要的各种进程,及查看其输出:

进程启动之后,右键菜单上会提供一些常用的功能:

在添加项目的时候,可以指定执行文件的绝对路径。如果没有指定绝对路径,那么会从当前的 PATH 中去猜。及指定工作目录和环境变量。

最新版本的下载和源代码欢迎访问项目网站 cl.v2ex.pro

12936 次点击
所在节点    分享创造
48 条回复
mcfog
2022-01-04 17:37:20 +08:00
@Livid
以 modd 的能力来说两种都支持,你说的在 modd 里叫 prep 一般放 linter 、build 、test 之类的,失败有输出警告,有变更时会重新执行;
而另一种是持续不退出,有变更时重启就是 daemon 了,总之大概的意思是类似这样

{
daemon: caddy run // 反向代理
}

Caddyfile {
prep: caddy reload // 变更时 reload
}

backend/**/*.go {
indir: ./backend
prep: go test // 后端 test
daemon: go run // 后端 server
}

frontend/**/*.js {
indir: ./frontend
prep: npm run lint // 前端 linter
daemon: npm start // 前端 server
}

一般而言分发一长串 brew install (包括 modd 和各种 sdk )和这个文本文件,就能够在一个全新的系统上直接启动项目了

刚才试了一下,导出的 json 里的路径是绝对路径的会影响团队成员之间共享,发明一个.cl.json 之类的后缀,路径默认以这个后缀文件作为起点如何?甚至可以去注册打开方式直接双击导入。 另外 log 没有搜索或导出
Livid
2022-01-04 17:41:26 +08:00
@mcfog 嗯,是的。更好用导入导出的 JSON 格式这个我们正在做。cc @Kai
guyskk0x0
2022-01-04 21:53:23 +08:00
有这个需求👍,试用了一下,提一点点建议~

- 创建 Task 的加号按钮不明显,不好找。
- 任务 executable 和 arguments 可以合并,也就是合并成 shell 命令。
- 启动和停止按钮可以合并成一个,类似音乐播放按钮。
- 未运行的状态用灰色更好,运行失败可以用红色。
- 创建新 Task 可以复用同项目 Task 的 Workdir 设置。
- 日志输出,解析 URL 并支持点击,类似 iTerm2 。
- 网站 favicon 没有设置。
- 可以考虑显示任务内存和 CPU 占用情况。
quxuanxuan
2022-01-05 16:50:25 +08:00
日志如果支持彩色就更好了
Livid
2022-01-08 01:13:05 +08:00
@guyskk0x0 在 2022 年 1 月 7 日的 1.0.1 更新中按照你的反馈使用了新的颜色系统:

* 绿色是运行中的状态
* 灰色是默认或者 clean exit
* 红色是上次退出时 exit code 非 0
akira
2022-01-08 17:27:40 +08:00
看起来不错呢,windows 下类似的东西么
neochen13
2022-01-09 21:31:58 +08:00
发现新世界,试试看
oldhuhu
2022-01-10 18:31:11 +08:00
建议支持一下服务直接的依赖关系,只靠 delay 来确定启动顺序有点不可靠
xieyuheng
2022-01-11 20:50:32 +08:00
站长加油哇!
imxieke
2022-01-18 12:26:30 +08:00
可惜了 11.2.3 用不了
tangbao
2022-01-24 23:10:17 +08:00
@Livid

这个真的很好用,节约了很多时间,感谢!

还请问能不能默认加入 ssh 的支持来执行远程设备上的脚本呢,就像 iOS 上的快捷指令一样。
D0n9
2022-01-27 18:28:15 +08:00
一直用 supervisor 来管理,这个和 supervisor 比 优势是啥
fenglangjuxu
2022-01-28 14:23:43 +08:00
@D0n9 #32

```
If you have used supervisor on Linux before, you will find the concept is quite similar. CodeLauncher works like a GUI version of supervisor for macOS, while the main goals are to make it easier to organize processes and check the output.
```
maxthon
2022-01-28 15:45:49 +08:00
开始用用看看~
提一个看到的小问题:log 不能跨行复制
liuzhaowei55
2022-02-18 09:32:25 +08:00
@Livid ngrok http 80 命令不能捕捉到运行状态,也无法正常启动
Livid
2022-02-18 09:49:41 +08:00
@liuzhaowei55 可能是 PATH 问题。

试试输入完整路径可以启动么?
Livid
2022-02-18 09:50:16 +08:00
@liuzhaowei55 或者给我看一下你设置任务的那个界面的截图?
liuzhaowei55
2022-02-18 10:48:36 +08:00
@Livid ![Snipaste_2022-02-18_10-40-53.png]( https://w-img-pub.moorper.com/2022/02/18/7af93e36877e3.png)
配置上是比较简单的
Livid
2022-02-18 10:49:54 +08:00
@liuzhaowei55 你的 ngrok 的安装路径是?
liuzhaowei55
2022-02-18 10:51:40 +08:00
@liuzhaowei55 我重新试了一下,命令正常运行,但输出还是无法捕捉到

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

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

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

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

© 2021 V2EX