大家往自己服务器部署/启动的时候都是通过什么方式,有什么比较好用的开源工具么

2024 年 11 月 29 日
 PungentSauce

最早的时候部署 php 可以用 deployer 。 现在用的 go ,打包什么的可以用.goreleaser 解决。但是上传部署不知道有什么方便的工具么。最好工具可以本地操作,或者部署在服务器,上传后自动执行也可以。不知道有什么开园工具么。

5712 次点击
所在节点    程序员
50 条回复
ShineyWang
2024 年 11 月 29 日
不是开源的,商业软件
Octopus
Yadomin
2024 年 11 月 29 日
k3s 或者 systemd
IDAEngine
2024 年 11 月 29 日
CapRover
IDAEngine
2024 年 11 月 29 日
主要是用 CapRover ,和 Heroku 比较类似,还挺好用的,另外就是 minikube
mohuani
2024 年 11 月 29 日
@zhengxiaowai 我还在用。。。。
PungentSauce
2024 年 11 月 29 日
@Jinnrry 是本地打 docker ,然后推送到 docker hub ,然后在服务器拉取么。
Jinnrry
2024 年 11 月 29 日
@PungentSauce 我的方案是代码 push 自建的 gitea ,然后 gitea action 自动编译 docker image ,编译完成后 scp docker image 到服务器,然后 docker 加载镜像运行。

最早的时候我是编译完后 push 到 docker hub ,然后服务器上面拉镜像,结果发现国内 push docker hub 很慢,而且很不稳定

然后我又把 docker hub 改成了阿里云的 docker 镜像中心,用了几年,后面发现免费的阿里镜像中心也不稳定,偶尔会抽风拉不下来,抽风的时候毫无办法,毕竟没付费

最后就改成了直接 scp 镜像过去
PungentSauce
2024 年 11 月 29 日
@qloog 可以的,这个我看和 deployer 比较像,不过我不希望服务器再装 go 环境了,这个有上传功能,应该也可以做到,这个我研究下。
beatboxgao
2024 年 11 月 29 日
ansible
defunct9
2024 年 11 月 29 日
都是啥乱七八糟的,楼上是正解
twohan198
2024 年 11 月 29 日
机器台数=1 , 直接 nohup xxx &
机器台数小于 5 ,直接 sshpass
机器台数>5 ,ansible
manami
2024 年 11 月 29 日
我的 Jjava 程序,有人问就说用 docker 部署,实际上是 nohup java -jar
因为机子资源有限,装个 docker 太耗资源了,没必要
COW
2024 年 11 月 29 日
写个 shell 也就几个步骤,复杂场景再考虑 ansible
guanzhangzhang
2024 年 11 月 29 日
docker-compose
daemon 类 go 写的二进制就 systemd
go 写的工具类 cli 就 screen
DiamondYuan
2024 年 11 月 29 日
推荐 CapRover , 基于 docker 开发的。

优点是开源免费,架构简单。 可以免去配证书的麻烦事。
出了图形界面,还有 cli ,可以自己和 GitHub action 组合,搞 CICD 。
Ggmusic
2024 年 11 月 29 日
图形化界面 必须是 semaphore 。AMX 太重。
Licsber
2024 年 11 月 30 日
https://www.bilibili.com/video/BV1yTBqY7E3M/
可以看下我最近写的小工具 跳过前面直接看部署部分
成果(短链接): https://j.licsber.site/baidu
django + gunicorn(wsgi) + nginx(静态文件)
用 Dockerfile 打好镜像 然后 volume 挂载数据
docker-compose 管理启停 然后 K3s 的 traefik 来代理 加 ssl 证书 加压缩等
支持 HTTPS 证书自动续签(lets + cert-manager)
超简单部署 只需要`docker-compose up -d && kubectl apply -f proxy.yaml`
Licsber
2024 年 11 月 30 日
OP 不想用 Docker 感觉大可不必 额外占用的资源完全可以忽略不计
我的方案回滚靠`git reset && git checkout xxx` 至于持续部署 可以靠 CI/CD 工具
但是其实不太常用吧 发版一周能发一次属于合理范围
只有在 staging 的应用才会每个 commit 每个 push 都重新启动部署
所以我还没折腾全自动化的部署 目前整套流程也就半分钟 三个命令而已
alalei
2024 年 11 月 30 日
用 spug 写发布脚本。。。
yqs112358
2024 年 11 月 30 日
2c2g 用 docker 也没啥呀,这东西本身也没太大占用,我 1c512M 5G 硬盘的小鸡都在用 docker 跑服务(也是 go 单体应用),基础镜像直接用 scratch (镜像只有程序本体大小),或者有简单 shell 需求的话用 alpine (多几 MB ),goreleaser 可以自动上传构建结果到 hub ,服务器上一条命令就拉下来安装/更新然后就启动了。
个人认为用这种标准化的办法来部署服务算是比较好的,应该也算不上重吧,而且用 docker 跑服务在安全性方面也有额外的保障

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

https://study.congcong.us/t/1093597

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

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

© 2021 V2EX