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

81 天前
 PungentSauce

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

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

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

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

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

优点是开源免费,架构简单。 可以免去配证书的麻烦事。
出了图形界面,还有 cli ,可以自己和 GitHub action 组合,搞 CICD 。
Ggmusic
81 天前
图形化界面 必须是 semaphore 。AMX 太重。
Licsber
80 天前
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
80 天前
OP 不想用 Docker 感觉大可不必 额外占用的资源完全可以忽略不计
我的方案回滚靠`git reset && git checkout xxx` 至于持续部署 可以靠 CI/CD 工具
但是其实不太常用吧 发版一周能发一次属于合理范围
只有在 staging 的应用才会每个 commit 每个 push 都重新启动部署
所以我还没折腾全自动化的部署 目前整套流程也就半分钟 三个命令而已
alalei
80 天前
用 spug 写发布脚本。。。
yqs112358
80 天前
2c2g 用 docker 也没啥呀,这东西本身也没太大占用,我 1c512M 5G 硬盘的小鸡都在用 docker 跑服务(也是 go 单体应用),基础镜像直接用 scratch (镜像只有程序本体大小),或者有简单 shell 需求的话用 alpine (多几 MB ),goreleaser 可以自动上传构建结果到 hub ,服务器上一条命令就拉下来安装/更新然后就启动了。
个人认为用这种标准化的办法来部署服务算是比较好的,应该也算不上重吧,而且用 docker 跑服务在安全性方面也有额外的保障

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

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

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

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

© 2021 V2EX