最早的时候部署 php 可以用 deployer 。 现在用的 go ,打包什么的可以用.goreleaser 解决。但是上传部署不知道有什么方便的工具么。最好工具可以本地操作,或者部署在服务器,上传后自动执行也可以。不知道有什么开园工具么。
1
Jinnrry 3 天前
无脑 docker
|
2
rxmt 3 天前
无脑 docker 或 compose +1
|
3
qczrzl 3 天前
docker-compose
|
4
qloog 3 天前
简单点就是 scp + systermd(一般服务器上都有), scp 用于部署二进制,systermd 用于部署后自动启动服务,下面是基于此原理的一些库
-------- https://github.com/dreamans/syncd 可以了解下 是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率. (用到了 scp ) 或者 https://github.com/pioz/god 能让你无需繁琐的 SSH 登录和手动配置,即可在远程服务器上部署、控制 Go 编写的守护进程 (依赖 systermd ) |
6
usboy 3 天前 1
docker-compose
k3s |
7
flytsuki 3 天前
docker-compose, pm2, supervisor
|
8
lpe234 3 天前
git pull && docker compose up -d --build
|
9
esee 3 天前
自己写脚本加 PM2 守护,简单明了
|
10
GeekGao 3 天前
让 AI 帮你生成一份 docker compose 配置。
|
11
ElmerZhang 3 天前
代码 -> gitlab -> gitlab-ci -> docker build -> aliyun registry -> k8s/docker-compose
|
12
seers 3 天前 via Android
cicd 钩子,自动打包自动发布,生活太美好了
|
13
fuis 3 天前 2
用 docker-compose 和 portainer 部署。遇到没有 docker-compose.yml 的项目,用 composerize 从 docker run 里生成;遇到忘记 docker run 的情况,用 runlike 从运行中的容器生成命令行。
|
14
zhengxiaowai 3 天前
我感觉都要暴露年龄了,,,supervisor 。。
|
15
ptaooo 3 天前
目前用的 1panel ,纯懒
|
16
nonewind 3 天前
supervisor + 1
|
17
oneisall8955 3 天前
portainer stack
|
18
chingyat 3 天前
Podman
|
19
ysicing 3 天前
k3s 或者 docker
|
20
julyclyde 3 天前
首先否决掉 supervisorD 、pm2 之类的,他们自己的存活性没保证
然后否决掉 nohup——因为 interactive shell 对环境变量的污染会带来隐式外部依赖,nohup.out 无法 rotate 、login session 无法退出等问题 正确的选择是 systemd 或者容器 |
21
ShineyWang 3 天前
不是开源的,商业软件
Octopus |
22
Yadomin 3 天前
k3s 或者 systemd
|
23
IDAEngine 3 天前
CapRover
|
24
IDAEngine 3 天前
主要是用 CapRover ,和 Heroku 比较类似,还挺好用的,另外就是 minikube
|
25
mohuani 3 天前
@zhengxiaowai 我还在用。。。。
|
26
PungentSauce OP @Jinnrry 是本地打 docker ,然后推送到 docker hub ,然后在服务器拉取么。
|
27
Jinnrry 3 天前 1
@PungentSauce 我的方案是代码 push 自建的 gitea ,然后 gitea action 自动编译 docker image ,编译完成后 scp docker image 到服务器,然后 docker 加载镜像运行。
最早的时候我是编译完后 push 到 docker hub ,然后服务器上面拉镜像,结果发现国内 push docker hub 很慢,而且很不稳定 然后我又把 docker hub 改成了阿里云的 docker 镜像中心,用了几年,后面发现免费的阿里镜像中心也不稳定,偶尔会抽风拉不下来,抽风的时候毫无办法,毕竟没付费 最后就改成了直接 scp 镜像过去 |
28
PungentSauce OP @qloog 可以的,这个我看和 deployer 比较像,不过我不希望服务器再装 go 环境了,这个有上传功能,应该也可以做到,这个我研究下。
|
29
beatboxgao 3 天前
ansible
|
30
defunct9 3 天前
都是啥乱七八糟的,楼上是正解
|
31
twohan198 3 天前
机器台数=1 , 直接 nohup xxx &
机器台数小于 5 ,直接 sshpass 机器台数>5 ,ansible |
32
manami 3 天前
我的 Jjava 程序,有人问就说用 docker 部署,实际上是 nohup java -jar
因为机子资源有限,装个 docker 太耗资源了,没必要 |
33
COW 3 天前 via Android
写个 shell 也就几个步骤,复杂场景再考虑 ansible
|
34
guanzhangzhang 3 天前
docker-compose
daemon 类 go 写的二进制就 systemd go 写的工具类 cli 就 screen |
35
DiamondYuan 3 天前
推荐 CapRover , 基于 docker 开发的。
优点是开源免费,架构简单。 可以免去配证书的麻烦事。 出了图形界面,还有 cli ,可以自己和 GitHub action 组合,搞 CICD 。 |
36
Ggmusic 3 天前 via iPhone
图形化界面 必须是 semaphore 。AMX 太重。
|
37
Licsber 2 天前
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` |
38
Licsber 2 天前
OP 不想用 Docker 感觉大可不必 额外占用的资源完全可以忽略不计
我的方案回滚靠`git reset && git checkout xxx` 至于持续部署 可以靠 CI/CD 工具 但是其实不太常用吧 发版一周能发一次属于合理范围 只有在 staging 的应用才会每个 commit 每个 push 都重新启动部署 所以我还没折腾全自动化的部署 目前整套流程也就半分钟 三个命令而已 |
39
alalei 2 天前
用 spug 写发布脚本。。。
|
40
yqs112358 2 天前
2c2g 用 docker 也没啥呀,这东西本身也没太大占用,我 1c512M 5G 硬盘的小鸡都在用 docker 跑服务(也是 go 单体应用),基础镜像直接用 scratch (镜像只有程序本体大小),或者有简单 shell 需求的话用 alpine (多几 MB ),goreleaser 可以自动上传构建结果到 hub ,服务器上一条命令就拉下来安装/更新然后就启动了。
个人认为用这种标准化的办法来部署服务算是比较好的,应该也算不上重吧,而且用 docker 跑服务在安全性方面也有额外的保障 |
41
bluedawn 2 天前
docker/k8s 设计之初就是为了解决自动化部署问题
不用它们用啥 |
42
bluedawn 2 天前
另外 docker 非常轻量级,重个啥
|
43
xuanbg 1 天前
我 1C0.5G 照样用 docker ,只不过上面只跑一个 nginx 做反向代理罢了。
|
44
mozhizhu 1 天前
all in docker
|
45
frankilla 1 天前
docker-compose 作为小白,我是觉得比 docker 好用。
|
46
mengdodo 13 小时 11 分钟前
git 配合 runner 实现提交到指定分支自动 build 后 ssh scp 同步,再配合下 pm2 supervisor 实现重启,全部自动化
|
47
EscYezi 7 小时 52 分钟前 via Android
如果是自己写的本地 build 好直接 ftp+pm2,其他的尽量用 docker compose
|
48
realpg 4 小时 29 分钟前
自己写 systemd-services
|
49
LostPrayers 1 小时 38 分钟前
开发测试阶段用 screen 方便看输出,上线了换 systemd
|
50
jqtmviyu 22 分钟前
pm2 + config.json
|